home *** CD-ROM | disk | FTP | other *** search
/ Risc World 1 / Risc World 1.iso / html / issue5 / text < prev   
Text File  |  2001-03-07  |  134KB  |  1,205 lines

  1.  
  2. ÿÿÿÿISSUE5/ANCESTOR/INDEX.HTM  ISSUE5, Ancester+
  3.  
  4.  
  5. Ancestor+
  6. Dave Wilcox delves into Ancestor+
  7. Family History and Genealogy have long been an interest of mine. It started many years ago when my Grandfather died. Whilst helping my Father sort out all of his papers I came across a piece of note paper handwritten and very obviously quite old.  It was not written by my Grandfather, and to this date I am not really sure who started it, but it was a seed which has grown considerably and has blossomed into a massive archive of information. It is a great hobby that can be picked up when you have a moment or laid aside for months or even years depending on what time you have available and when. However once you get the bug the volume of data you amass becomes a very daunting prospect and keeping track of it becomes a nightmare.
  8. As anyone who has been interested in Genealogy and Acorn Computers will know the first commercial venture into this realm was by Minerva, with 'Ancestry', the concept was good but the finished product was somewhat lacking, this was later replaced by 'Ancestry II', a different author with obviously differing views from the first, a very buggy product and sadly very unsupported by Minerva. I am also sure that everyone with an interest will know the author of the first product - Ancestry - was the late Graham Crow. This man in my mind had a vision that Acorn users would have the best Genealogy Package on any computer system and worked very hard to achieve this before his untimely demise. 
  9. Enter side right Monsieur David Holden..... He has taken hold of the reins where Graham let go. I feel that David appreciated the vision Graham had and moved in very smoothly to take his place. David has, it would seem almost rewritten the package to bring it into the twenty first century, but has kept the overall vision of the package. This is THE current Genealogy Package for Acorn Computers and is called 'Ancestor+'.
  10. The current version, as I write this review is 1.52, dated 5th September 2000. The program costs £59:00 inclusive of VAT and postage from APDL. (There are upgrade paths from Ancestry and Ancestry II - contact APDL for details).
  11. The protection idea used by APDL is excellent and a few other Companies could learn and benefit from this system. When you purchase the program and boot it for the first time it registers your name within the application. Once registered you have access to all the capacity of the program. If you don't have a 'register file' the program will run as a demonstration copy to give you a taste of what you get, very basically you will be restricted to 60 people entries and 25 family entries. Once registered you are limited but I cannot foresee anybody exceeding the 20,000 people names, 10,000 family names, 255 children and so on.  If you did manage this feat there is the ability to have the program tweaked a little.  The main advantage of this system is that upgrades can be obtained from APDL's website, once downloaded copy your registration across into the new version and away you go.
  12. The program initially comes on one high density disc and contains a few associated applications:
  13.  
  14. The Disc Catalogue
  15.  
  16. !ArcFS2 (read only) - Used to decompress the examples Database.
  17. !AncConv - This will convert !Ancestry, !AncestryII, and !Family (PD app) Databases.
  18. !Ged-Anc - This allows import and conversion of Gedcom files.
  19. ..and of course the examples archive for the Royal family and examples mentioned in the manual, and a HTML version of the manual.
  20. Once registered the usual double click of the Ancestor+ icon loads the program to the iconbar. Before starting to play I think this is one occasion you really should read the manual. It is easy to flick through the Royal Family example database and, although the software is intuitive, a little time will save a lot of effort. The manual is still in my opinion only a draft, the copy I have is in need of a good proof read and several more diagrams to assist in the descriptives, a minor problem easily overcome, and this probably due to the continuing improvements and additions to the package. It is still easy to follow and gives most of the required information.
  21. Okay so the program is loaded on the iconbar, it has the usual options of clicking Select to start, or Menu for option settings. Let's take the menu on the iconbar icon first:
  22.  
  23. The Iconbar Menu
  24.  
  25. As you can see we have the usual Info and Quit options. 'Save Windows' lets you save the opening positions of the windows on screen.  The default is all windows will open centre screen. If you move them about and then close them they will reopen in the position they were when closed. If you now save windows, these positions will remain as the default.
  26.  
  27. The Iconbar Menu --> Choices
  28.  
  29. As you can see from the menu above the "Choices" option lets you configure how the program works, from simple choices like how dates are displayed to how links are calculated by ages as a check for compatibility of information. The user defined fields can be cross referenced to GEDCOM names, the method for displaying names can be selected indeed everything to suit the way you want the database to work and present it's data for you can be changed.
  30. Clicking select on the iconbar icon or double clicking on an existing database will open the main window.
  31.  
  32. The Main Window - Royal Family Database loaded
  33.  
  34. Here I have double clicked on the Royal Family Database, provided with the program. As you can see there are considerable points of note within this window which require a little closer attention.
  35. Lets start with the toolbar at the top, the first box in red shows the number of the selected person.  When you add a person to a database they are given a unique ID number, as you can see number 5 is selected. If you look in the main window number 5 is highlighted in red and is King Henry VIII, this can be an easy way to move if you know the entry number you want, just type it in. The next box shows how many people are in you database at the current time so we have 103 people listed. The recorder type controls have their usual uses, i.e. back one entry, forward one entry, to the first entry and to the last entry respectively. As you move through the data the new entry will take the prime position on the screen as the central character and will adjust to show their tree connections, unions, children etc.
  36. The next button - '+' is the one used to add a new persons details to the database
  37.  
  38. Adding a Persons details
  39.  
  40. As you can see from the above when you click on this the next number is automatically taken i.e. '104'. So initially a persons ID is governed by the sequence that they are entered. Clicking on the recorder controls will move you back to an existing entry and will change to edit mode. Staying with the add window the descriptions of the fields are fairly self explanatory, the fields for the dates can be adjusted if dates are not fully know or are guesstimates. The last five fields correspond to the User Fields seen in the choices window above.  Once you are happy with the details entered click on the add button. Voila - you new entry is in the database. Easy.  The next button along is the magnifying glass, I cannot recall having read a description of this but basically if you have a persons window open and have been moving around the tree in the main window, clicking on this causes the personal entry to again become the main window target person.  The '?' key runs through a personal entry and checks the data entered as described in the choices configuration.
  41. The next three icons are concerned with data collected about an individual.  From the choices menu over the main window it is possible amongst other things to allocate a directory address for storage of this data. It is then possible to link this data to a persons entry, this data can consist of notes, photographs or whatever you wish. To link into the icons though they need to be a special name, i.e. 'notes' to link to the notes button and 'pic/jpg' or 'picture' in sprite format to link to the picture button.  Other files can be kept in this directory for storage purposes if so desired.  To open this directory click on the filing cabinet.
  42. Returning to the main window, the '=' button is very similar to the add button but adds a family connection.
  43.  
  44. Adding Family Link details
  45.  
  46. Here you can either type in the numbers you want to link or you can drag their entry from the main window, it is usual to have the male entry on the left, but the choice is yours, the double headed arrow in the middle of the window will swop the entries back and forth for you. Again in the top left you have the family number displayed, again each family connection has a unique ID number.
  47. Again the entries are fairly obvious. With the "ended by" field, WD, and HD are two special entries, wifes death and husband's death respectively. The program will put the date in automatically if it is entered on the personal record.  Also the Resource Directory buttons for a family work in the same manner as those for personal entries above.
  48. Next we have the 'Red Cross'. This is the delete key. People who are currently linked in anyway cannot be deleted, so breaking of their links is required first.
  49. The next four buttons are tools, search, save, macros, and choices.
  50. Search
  51.  
  52. Person Search
  53.  
  54. This enables you to search for specific person(s), and to create a search list. As you can see you can search Forename and Surname in the example above, these can be set to other fields with the menus. A match can be searched for either or both entries. Expanding the window will give access to filter options which make this a very powerful utility.
  55. Save
  56. Saves as an Ancestor+ file, clicking opens a 'save as' window. Drag it to a directory of your choice to save the current state of the database, or update an existing file.
  57. Macros
  58. This provides ten editable macro fields  for your use, if you have to enter the place of birth as say 'Llanfairpwllgwyngyll, Anglesey' for lots of entries you can program a macro entry for this and just press the <ctrl><func key> for the entry to be made for you.
  59. Choices
  60. This option lets you give the database a name and set the resource directory where you can keep pictures and notes files etc. as mentioned above for personal pages and family connection pages.
  61. Charts and Reports
  62. Charts allows you to print out Ancestor Charts, Descendant Charts, A full tree or a Pedigree Chart. Ancestors, Descendants and the full tree are currently displayed and saved as text files. Pedigree charts can be saved as Draw or Text files as well as exported to a report format in text.
  63. Reports are saved in text form for inclusion into a word processor with the same entries for each name or selected list member.  This is a another powerful aspect of this program as it is possible to construct your own report layouts with an embedded command type structure to export the data into Impression or Ovation Pro or just a standard text editor.
  64. As you may recall from the choice menu you can configure the way the names are displayed, this is shown in the top left hand corner in green text.
  65. Lets take King Henry VIII's entry as an example. You can see that his title was King Henry VIII, Forename was Henry and Surname was Tudor. He was born in 1491 and died 1547, he was male, is currently deceased (X), and was 55 years of age when he died, and his unique ID is number 5. He had numerous wives as you can see from the stack to the right, one sheet per wife. The same details are present for the wife, but as you can see she is shown as F - female. The displayed wife in this case, Queen Catherine Aragon is shown to be Family ID number 3, this is the unique family ID, not wife number 3. Their union was from 1509 to 1533 and they had one child, Queen Mary I. The two icons to the right of Queen Catherine Aragon's window are for the stack. The top one shows a list of partners and whether they have offspring or not, the bottom one allows you to sort the stack.
  66.  
  67. Main Window with a change of target
  68.  
  69. If you were to click on the box for Queen Mary I you can see that she becomes the main window target and information about her relatives is now displayed.
  70. Pressing menu over the main window gives the following option:
  71.  
  72. Main Window Menu Options
  73.  
  74. Save
  75. You can save in lots of formats, Ancestor+ Database, CSV, HTML single file or multi file, or GEDCOM.
  76. Info
  77. This gives details about your database, size, people active and deleted, and  families active and deleted.
  78. Choices
  79. This is the same as the star button, top right of the menu bar.
  80. Export
  81. This is used when a search list has been created and can save out that list in the same formats as above.
  82. Clear Dbase
  83. Fairly self explanatory I think.
  84. Dbase Tools
  85. These are used to alter the current file.  You can use this for numerous sort routines or transposing entries to the capitalised lower case format i.e. 'This Is An Example'. Ideal if you download a GEDCOM file for instance.
  86. I know there are several aspects of the use I have not covered but I hope that this has given a taster for what I deem to be an excellent package.
  87. Conclusion
  88. If you are into Genealogy and want a reliable and very useful database buy it. I have used it for a considerable time now and do not recall having one crash to date. I've had a few mishaps but that's down to my use, not the program. There are several improvements planned like drawfile charts and trees. As I said an ongoing project.
  89. Product details
  90.         
  91.                 Product:
  92.                 Ancestor+
  93.         
  94.         
  95.                 
  96.                         Supplier
  97.                 
  98.                 
  99.                         A.P.D.L.
  100.                 
  101.         
  102.         
  103.                 Price:
  104.                 £59 inc. p&p
  105.         
  106.         
  107.                 Address:
  108.                 
  109.                         39 Knighton Park Road, 
  110.                         Sydenham,
  111.                         London,
  112.                         SE26 5RN
  113.                         ENGLAND
  114.                 
  115.         
  116.         
  117.                 Tel:
  118.                 +44(0)20 8778 2659
  119.         
  120.         
  121.                 WWW:
  122.                         
  123.         
  124.                 E-mail:
  125.                         
  126. David Wilcox
  127.  
  128. ÿÿÿÿISSUE5/ARMCODE/INDEX.HTM  ISSUE5, ARM code for Beginners
  129.  
  130.  
  131. ARM code for Beginners
  132. Part 2: Constants, Comparisons, Labels and Loops
  133. Brian Pickard explains how anyone can program in ARM code.
  134. Before I begin on this issues topics here are the solutions to the last articles set of problems.
  135. Q. Modify the above to subtract the values R2 from R1 placing the answer in R0.
  136. A: This is just a straight substitution of SUB R0,R1,R2 in place of the ADD R0,R1,R2.
  137. 2. Modify the above to do the following R0=R1+R2+R3.
  138. A: This needs a little more care. Inside the assembler code we need the following:
  139.     [
  140.     ADD R0,R1,R2 :REM as before
  141.     ADD R0,R0,R3 :REM this is allowed R0 becomes equal to the value R0+R3
  142.     MOV PC,R14   :REM return to BASIC program
  143.     ]
  144.     INPUT"Enter an integer value "B%
  145.     INPUT"Enter another integer value "C%
  146.     INPUT"Enter yet another integer value "D%
  147.     A%=USR(mcode%)
  148.     PRINT"The answer is ";A%
  149.     END
  150.  
  151.  
  152. Remember that we require a number in D% to get a value into R3.
  153. 3. Modify the above to do the following R0=R1+R2-R3.
  154. A: This is similar to 2 but with the following inside the assembler:
  155.     [
  156.     ADD R0,R1,R2
  157.     SUB R0,R0,R3
  158.     MOV PC,R14
  159.     ]
  160.  
  161. 4. Modify the above to do the following R0=R1-R2-R3.
  162. A: Again just the assembler code has changed from 2:
  163.     
  164.     [
  165.     SUB R0,R1,R2
  166.     SUB R0,R0,R3
  167.     MOV PC,R14
  168.     ]
  169.  
  170. Constants
  171. In many programs values need to be given which are not changed and so need not be entered by the user at run time. These constants, known as immediate operands, can be given to registers in assembler code in various ways. For example:
  172.     MOV R0,#48
  173.     MOV R0,#ASC("0")  :REM load R0 with ascii code for zero
  174.     MOV R0,#&30       :REM load R0 with hexadecimal number 30
  175.     MOV R0,#(1
  176. All the above will produce R0 with the value of 48. The # symbol tells the assembler that an immediate operand (as opposed to a register operand) is to be used, the value of which follows the #. Note the use of the BASIC command ASC, this is one of the advantages of using the assembler that is built into BASIC. When this code is assembled any BASIC command will be interpreted, producing the correct result. Also the last example shows a left shift command. These can be useful since there is a limit to the actual value that a constant can have using immediate operands. This limitation arises since the whole command has to fit into 32 bits. I have not discussed the structure of ARM code since it is beyond the scope of these articles, but common sense dictates that if the command name, the registers and how they are used, all have to fit into 32 bits, then any immediate operand value has to fit into less than 32 bits. Just 12 bits are used and the way in which they are used is not straight forward. I will not go into great detail but just give the rules.
  177. Any value from 0 to 255 is allowed.
  178. Any value which is in the range 256 to 1023 is allowed if divisible by 4.
  179. Any value which is in the range 1024 to 4096 is allowed if divisible by 16.
  180. No values above 4096 are allowed.
  181. This might seem restrictive but there are easy ways around this using memory locations (see a later article). Here are some examples of the use of immediate operands see if you can decide the results.
  182.     ADD R0,R1,#4
  183.     ADD R0,R0,#10
  184.     SUB R0,R0,#4
  185.     BUT note the following are not allowed.
  186.     ADD R0,#4,#4
  187.     SUB R1,#4,R2
  188. An immediate operand can only be placed at the last register operand position.
  189. Loops and Labels
  190. One of the most useful constructions in a program is the loop. We can use loops in ARM code quite easily with the aid of labels. Consider the following assembler code:
  191.     [
  192.     MOV R0,#16   :REM place the value 16 into R0
  193.     .alabel%     :REM a label used during assembling.
  194.     SUB R0,R0,#1 :REM take one off the value of R0
  195.     B alabel%    :REM B is the code for branch, this will jump to position a label%
  196.     ]
  197.  
  198. Note the use of a dot (period) before a label name as in .alabel%.
  199. During the assembling, the memory address at position alabel% is given to the variable alabel%. When the branch command B alabel% occurs the assembler works out the number of bytes back (in this case), to position alabel% and fills in this value in the branch command.
  200.  
  201. The assembler does not fill in the memory address of alabel% into the branch command. There are two good reasons for this.
  202. 1. If relative jumps are used rather than jumps to actual memory positions, the code produced can be loaded into any position in memory. This type of code is called relocatable code and is far more useful than code that has to run from a definite position in memory.
  203. 2. The actual memory address would not fit in the 32 bit code for the branch!
  204. The branch instruction uses 24 bits to store the value of the jump. Since a jump has to be a multiple of 4 (all ARM commands are 4 bytes long) bytes the range is 4 times as large as would appear using a standard binary representation.
  205. The above code is not much use since it is a infinite loop! We need to know how to get out of a loop.
  206. Comparisons and Conditions
  207. In ARM code there are two main comparison commands, CMP and CMN. These can with, a modified branch command, test a condition and decide what to do next. Adding extra lines and modifying the branch we can have:
  208.     [
  209.     MOV R0,#16
  210.     .aloop%
  211.     SUB R0,R0,#1
  212.     CMP R0,#0    :REM CMP code for compare
  213.     BGT aloop%   :REM modified branch with GT (greater than) suffix added
  214.     MOV PC,R14
  215.     ]
  216.  
  217. The CMP command actually calculates R0-0 (known as a notational subtraction) and sets the status flags depending on the result. If R0 is greater than 0 (R0 is positive) then the Negative flag is cleared and the Overflow is cleared and Zero flag is cleared. IF R0 is 0 then Zero flag would be set and the other two cleared. The modified branch command with its suffix GT (meaning greater than) checks the flags and decides if a branch is required. In our example the branch would not occur when R0 becomes zero.
  218. The CMP and CMN commands can be used to compare the contents of two registers thus CMN R0,R1. The CMN command makes R1 negative first then does the subtraction, i.e. R0-(-R1), and sets the status flags.
  219. CMN R3,#6 compares R3 with -6. This is useful since an immediate operand cannot include -ve sign. Suffixes can be added to most ARM commands resulting in a more compact and faster executing code.
  220.     [
  221.     MOV R0,#16
  222.     .aloop%
  223.     SUBS R0,R0,#1
  224.     MOVEQ PC,R14
  225.     B aloop%
  226.     ]
  227.  
  228. This example does exactly the same but with no CMP line. The suffix S added to the SUB command makes the command set the status flags depending on the result. The zero flag will be set when R0 becomes zero. The EQ suffix on the MOV command means it will only be executed when the zero flag is set.
  229.  
  230. Here is a table of all the suffixes that test conditions together with the status flag setting.
  231. Nested loops
  232. Consider the following
  233.     [
  234.     MOV R1,#128
  235.     .outerlp%
  236.     MVN R2,#0   :REM MVN places inverted input into R2
  237.                 :REM i.e. 0 (all bits clear) inverted = -1 (all bits set)
  238.     SUB R1,R1,#1
  239.     .innerlp%
  240.     ADD R2,R2,#1
  241.     CMP R2,R1
  242.     BNE innerlp%
  243.     CMP R1,#0
  244.     BNE outerlp%
  245.     MOV PC,R14
  246.     ]
  247.  
  248. Having one programming structure (in this case loops) contained within another is called nesting. The structure can be repeated as many times as required. Note the following is not a good structure.
  249.     [
  250.     MOV R1,#128
  251.     .outerlp%
  252.     MVN R2,#0
  253.     SUB R1,R1,#1
  254.     .innerlp%
  255.     ADD R2,R2,#1
  256.     CMP R1,#0
  257.     BGT outerlp%
  258.     CMP R2,R1
  259.     BNE innerlp%
  260.     MOV PC,R14
  261.     ]
  262.  
  263. It is not a good idea to have branches jumping out of loops in such a way since it is difficult to follow the flow of the program. With careful thought the nested example can be re-designed with using the S suffix.
  264.     [
  265.     MOV R1,#128
  266.     .outerlp%
  267.     MVN R2,#0
  268.     SUBS R1,R1,#1 :REM suffix S makes SUB command set status flags
  269.     MOVEQ PC,R14  :REM this command only executed if Zero flag set
  270.     .innerlp%
  271.     ADDS R2,R2,#1 :REM again status flags set by this command
  272.     BNE innerlp%  :REM this branch executed if Zero flag clear
  273.     B outerlp%    :REM this branch always executed
  274.     ]
  275.  
  276. All this is clever but I suggest you keep the comparisons in your code, it is easier to construct and debug. I include these examples to show how compact ARM code can be. We now have enough knowledge to produce small routines that mimic computer routines. For example multiplication. This can be done by repeated addition thus:
  277.     [
  278.     MOV R0,#0
  279.     MOV R3,#0
  280.     .multlp%
  281.     ADD R0,R0,R1
  282.     ADD R3,R3,#1
  283.     CMP R3,R2
  284.     BNE multlp%
  285.     MOV PC,R14
  286.     ]
  287.  
  288. In the above R1 and R2 hold the numbers to be multiplied, the answer is returned in R0 For the complete listing see the file Basic program MultEG inside the ArmCode section of DiskWorld. This listing also shows the ARM code can be used repeatedly without the need to assemble it each time.
  289. That's it for this part, next time I will show how to include forward branches and use SWI's in ARM code.
  290. Some Problems for solving.
  291. 1. Construct a BASIC program which includes an ARM code routine to place user values in registers R3 and R4 that will test the values in each register and give an zero if R3 = R4, one if R3  R4. Answers to be given in R0 for the BASIC program to print out.
  292. 2. Find the errors in the following:
  293.     [
  294.     MOV R2,#-6
  295.     MOV R1,#257
  296.     lp%
  297.     SUB R1,R1,#4
  298.     CMP R1,R2
  299.     B lp%
  300.     MOV PC,R14
  301.     ]
  302.  
  303. 3. Construct a BASIC program using an ARM routine which will check if the value in R1 is a possible ASCII code for a capital letter. If it is then it will place in R0 the corresponding lower case ASCII code, which the BASIC program will print out.
  304. Hint: ASCII codes for A to Z are 65 to 90 inclusive. For a to z are 97 to 122 inclusive.
  305. 4. Using a loop, design an ARM routine which mimics integer division by repeated subtraction. The routine should give the correct answer back for the BASIC program to print out.
  306. Answers again next time, problem 4 shows how a computer actually divides!
  307.  
  308. ÿÿÿÿISSUE5/BEGINPRG/INDEX.HTM  ISSUE5, Programming for non programmers
  309.  
  310.  
  311. Programming for non programmers
  312. Part 5 - Communicating with the Operating System
  313. David Holden continues his series.
  314. So far all the programs I have used as examples have only interacted in a very simplistic way. They have obtained data from the keyboard using the INPUT keyword and then PRINTed output direct to the screen. Obviously programs need to be able to do a lot more than this. They need to be able to 'talk to' the computer's operating system (OS).
  315. In effect this is what INPUT and PRINT do, but there are so many things that a program might need to do that it wouldn't be possible to have a BASIC keyword or function for more than a very small number of them. What is needed is a standard method for programs to communicate with the OS. This is provided by the Software Interrupt or SWI.
  316. In most RISC OS BASIC tutorials it is common to leave SWIs until much later. However, it is essential to understand how to use them if you are going to make your programs work properly in a multi-tasking environment like the Desktop. If your program is going to exist in the Desktop all keyboard and mouse input and all screen output would usually go via the WIMP, and that means using SWIs. 
  317. SWI's from BASIC
  318. SWIs have to be able to be used from any computer language and from machine code. This means the system has to be extremely flexible. To understand how it works you will need to know a little (but only a very little) about how the computer's ARM processor operates. 
  319. The processor has 16 registers, and as these are all 32 bit registers they can each hold and manipulate 4 bytes or one 'word' of data. Three of the registers, R13, R14 and R15, have special functions, but the remaining 13 are 'general purpose'. To use a SWI  any data or parameters is loaded into registers as specified for that SWI and a machine code instruction is then executed which jumps to the correct address for the required SWI which is specified by its number.
  320. So how do we do this from BASIC?
  321. Well BASIC has a keyword SYS (for SYStem) which simplifies things for us. The SYS keyword is followed by the number of the SWI we want to execute, and this is then followed by a comma separated list of the values to be loaded into each of the registers, starting with R0. In fact, BASIC has a few extra features which make this even simpler, but I'll describe these as we come to them.
  322. For example, if we wanted to call SWI number 1234 with the value 23 in R0 and the value 100 in R1 we would use -
  323.     SYS 1234,23,100
  324.  
  325. If the value 100 should have been in R2 instead of R1 then this would have been -
  326.     SYS 1234,23,,100
  327.  
  328. As practical example I shall use SWI number 0 to print a word to the screen. This SWI is extremely basic, it just PRINTs the ASCII character passed to it in R0. Normally, but not necessarily, this would be to the screen. So to PRINT a word we just have to call SWI 0 with a succession of letters in R0.
  329.     REM Print a word to the screen using SWI 0
  330.     PRINT
  331.     SYS 0,72
  332.     SYS 0,101
  333.     SYS 0,108
  334.     SYS 0,108
  335.     SYS 0,111
  336.     PRINT
  337.     END
  338.  
  339. The two PRINT statements before and after the SYS calls just PRINT blank lines.
  340. The numbers passed to the SWI in R0 are the ASCII values of the letters of the word 'Hello', so this is what appears on screen. Not exactly sophisticated, but it serves to illustrate the method.
  341. As I explained earlier BASIC has ways to simplify this. As you can imagine there are thousands of SWIs, and trying to remember their individual numbers would be impossible, and even worse, looking at a program later and attempting to work out what the SWI was doing from its number would be even more difficult. Most SWIs therefore can be called by name instead of just a number. The name of the SWI we have just used is OS_WriteC. SWIs fall into various groups and their names are usually in a similar format where the first section describes the group, in this case OS which means it's a basic Operating System SWI, followed by an underscore character and then a name which describes the action, WriteC being short for Write Character. 
  342. The previous program could therefore be written as - 
  343.     REM Print a word to the screen using SWI 0
  344.     PRINT
  345.     SYS "OS_WriteC",72
  346.     SYS "OS_WriteC",101
  347.     SYS "OS_WriteC",108
  348.     SYS "OS_WriteC",108
  349.     SYS "OS_WriteC",111
  350.     PRINT
  351.     END
  352.  
  353. Note that the SWI name must be enclosed in double-quotes and it must be used precisely as specified, with exactly the same case.
  354. As usual with BASIC the literal numbers passed as parameters could be suitable BASIC variables.
  355. This isn't a very useful example, and it's also not very elegant or versatile as it can only print the characters written into the code. You wouldn't normally use this sort of routine for PRINTing text from BASIC, but while we're here I shall show a modified version. This doesn't use anything we haven't already covered in earlier lessons, so see if you can work out how it operates and perhaps modify it to print out different messages.
  356.     REM Sub routine to PRINT characters using OS_WriteC
  357.     ON ERROR PRINT REPORT$ + " at line " + STR$(ERL) : END
  358.     DIM text% 100
  359.     $text% = "Hello World"
  360.     PROCprint_string(text%)
  361.     END
  362.     DEFPROCprint_string(ptr%)
  363.     WHILE ?ptr% > 13
  364.     SYS "OS_WriteC",?ptr%
  365.     ptr% = ptr% + 1
  366.     ENDWHILE
  367.     ENDPROC
  368.  
  369. It is often necessary to pass parameters that can't be placed in a register, for example, strings. The way this is done is to place the data in memory and pass a pointer to it. You can do this for strings, but BASIC will do the work for you, so you can just use a string as a parameter and BASIC will substitute an appropriate pointer. This technique can be used with literal strings, that is, words enclosed in double-quotes, or string variables.
  370. If you do want to pass a string to a SWI then normally it must be terminated with a Null character, which is a zero. BASIC strings are terminated with a Carriage Return or CR, ASCII 13. When you pass a BASIC string, either literal or a variable, BASIC inserts the correct terminating character, but if you do decide to use a direct pointer to a string you will normally need to insert the terminating zero.
  371. CHR$ and ASC
  372. Before I continue with more information on SWIs now seems an appropriate time to introduce two more keywords, ASC and CHR$, These are actually BASIC Functions, and work rather like the VAL and STR$ functions described in Part 2. ASC is used to convert an ASCII character to a number and STR$ converts a number in the range 32 - 255 to the equivalent character.
  373. For example, as the ASCII value of a capital 'A' is 65, then
  374.     PRINT CHR$(65)
  375. Would PRINT a letter 'A'. 
  376. The earlier program which used OS_WriteC would have been more easily read if I had used ASC instead of the actual ASCII numbers for the required letter. In this case it would become -
  377.     REM Print a word to the screen using SWI 0
  378.     PRINT
  379.     SYS "OS_WriteC",ASC"H"
  380.     SYS "OS_WriteC",ASC"e"
  381.     SYS "OS_WriteC",ASC"l"
  382.     SYS "OS_WriteC",ASC"l"
  383.     SYS "OS_WriteC",ASC"o"
  384.     PRINT
  385.     END
  386.  
  387. CHR$ is especially useful because it can be used for introducing unusual characters into strings. The procedure in the third program just prints letters until it reaches the terminating character of the BASIC string, which is a CR or ASCII 13. If we had wanted to split our text over two lines we would have to introduce  a CR character (13), which means 'move to the start of the line' and a linefeed character (or LF, ASCII 10) which means 'move down one line'. We would also need to find another means of identifying the end of the text in the procedure which prints it as otherwise it would stop when it found the first CR. We can do this by using a 'null' character as the terminator. The new program then becomes -
  388.     REM Sub routine to PRINT characters using OS_WriteC
  389.     ON ERROR PRINT REPORT$ + " at line " + STR$(ERL) : END
  390.     DIM text% 100
  391.     $text% = "Hello"+CHR$(13)+CHR$(10)+"World"+CHR$(13)+CHR$(10)+CHR$(0)
  392.     PROCprint_string(text%)
  393.     END
  394.     DEFPROCprint_string(ptr%)
  395.     WHILE ?ptr% > 0
  396.     SYS "OS_WriteC",?ptr%
  397.     ptr% = ptr% + 1
  398.     ENDWHILE
  399.     ENDPROC
  400.  
  401. You can see how the additional characters are just 'added in' to the string. I have also put a CR and LF at the end of the text so that any further text will begin on a new line.
  402. You will see from this last section how we can introduce the '0' terminator required by most SWIs onto the end of a BASIC string. In fact our procedure for printing text using OS_WriteC is really redundant as there is a SWI which does does exactly the same thing, OS_Write0. Note that the last character of this name is a zero, not a capital O. This SWI does what you would expect, you call the SWI with a pointer to the text in R0 and it prints characters to the screen until it finds the terminating null. By substituting a call to OS_Write0 the program could be simplified -
  403.     REM Routine to PRINT characters using OS_Write0
  404.     ON ERROR PRINT REPORT$ + " at line " + STR$(ERL) : END
  405.     DIM text% 100
  406.     $text% = "Hello"+CHR$(13)+CHR$(10)+"World"+CHR$(13)+CHR$(10)+CHR$(0)
  407.     SYS "OS_Write0",text%
  408.     END
  409. Getting information back
  410. So far the SWIs I have used have been extremely simple, and just required information to be passed to the OS. However many SWIs require a two way exchange of information. Sometimes this is done by passing the data back in registers, but if this is not appropriate, for example, if the data is a string, then it is passed back in a block of RAM with a register holding a pointer to it.
  411. As you might expect BASIC has a method of accessing these returned values. After the list of data to be passed to the SWI you add the keyword 'TO' and then follow this with a comma separated list of BASIC variables and the returned values in the registers are assigned to these variables. R0 is assigned to the first variable, R1 to the second, and so on.
  412. I have explained that all SWIs are given a number, and many also have a name. There are SWIs to convert names to numbers and vice versa. The one to convert a name to a number is OS_SWINumberFromString. The specification for this says that you call the SWI with a pointer to the SWI name in R1 and on exit R0 will hold the number of the SWI. Translated into BASIC this becomes -
  413.     DIM text% 100
  414.     $text% = "OS_Write0"+CHR$(0)
  415.     SYS"OS_SWINumberFromString",,text% TO number%
  416.     PRINT number%
  417.  
  418. If you Run this program you will see that OS_Write0 is SWI number 2.
  419. The SWI to convert from a number to a string is OS_SWINumberToString. This requires the SWI number to be passed in R0, a pointer to a suitable buffer for the string to be returned in R1, and the length of this buffer in R2. The SWI number will then be placed in the buffer and R2 will hold the length of this string. This gives us a bit more scope for writing an interactive program which will ask the user for a number and then display the SWI name associated with that number (if any).
  420.     REM Program to convert a SWI number to a name
  421.     ON ERROR PRINT REPORT$ + " at line " + STR$(ERL) : END
  422.     DIM name% 100
  423.     REPEAT
  424.     INPUT "Enter SWI number - "swi_num%
  425.     IF swi_num% >= 0 PROCconvert(swi_num%)
  426.     UNTIL swi_num% 
  427. I'm not going to describe the workings of this program in detail, by now you should be able to work this out for yourself, but I will explain a couple of things about the way that OS_SWINumberToString is used in PROCconvert.
  428. You will see that the SWI is called, as required, with the number to be converted, number%, in R0, a pointer to the buffer for the returned string in R1, actually name% which is an integer array we had previously DIM'ed, and the length of this buffer in R3. When the call returns we aren't interested in the contents of R0 or R1, but we do need to know the contents of R2, which is the length of the string, so we assign this to the variable length%.
  429. We need to know the length of the string because the name returned will be terminated with a null character and if we want to use PRINT to display it we must substitue the character that BASIC requires, a CR or 13, for this. As we know the length of the string we can use the indirection operator '?' to insert a CR after its end. In this particular instance you could use OS_Write0 to print the name instead, and you might want to try modifying the program to do this.
  430. If you use this program you will notice that a lot of numbers return the name 'User'. This doesn't mean that there are a lot of SWIs with this name, but that this number hasn't isn't used.
  431. Next issues article will continue exactly where this one left off.
  432. David Holden
  433.  
  434. ÿÿÿÿISSUE5/CHAOS/INDEX.HTM  ISSUE5, Chaos Engine
  435.  
  436.  
  437. The Chaos Engine
  438. David Bradforth reviews a recent addition to the games players arsenal.
  439. When R-Comp Interactive announced, back at the start of 1998, they were entering the games market, I don't think anybody believed quite how true that would be. Now, some ten+ blockbuster releases later, we've got a classic from the days of the Amiga. Not bad, really: it's only five years after the title was first to become available from Renegade, who pulled the plug on it after poor Acorn sales of Sensible Soccer.
  440. We've had Commando-style games under RISC OS before: Network 23, who produced the superb Warlock released their own version in 1997. Since then, however, nothing has developed the original Commando concept and added 'features' so to speak. At last, all that has changed.
  441. So how best do we delve into such a deep game?
  442. In order to beat the Chaos Engine, he quotes from the manual, you'll need to activate all the large silver "nodes" in each level. Within the game, you may find a node as something which appears to stick out from the screen with a sort of whitey grey colour - it'll be unmistakable.
  443. Along the way, there's all sorts of different monsters and enemies to defeat. Good thing, therefore, that Chaos Engine also allows you to customise the team you use for this mission. Before you begin playing the game, you're given 6,000 credits to choose two people from six who have the abilities you most want for your team. From bandit to mercenary, gentleman to navvie, thug to preacher: they all have their own positive aspects and negative aspects, and it's really up to you to see how best they operate in the game.
  444. To progress through the game, you'll need to solve puzzles, find keys and activate devices. I'll have to admit that I haven't got far enough in the game to progress at all, which makes commenting on this somewhat difficult. Silver keys are essential for progression; but gold keys are the ones you'll find of most use: particularly if you're low on health. The nodes have special properties, and open additional exits for every node you activate, usually placing you at a different start point on the next level.
  445. If you want to make use of the shop, you'll need to collect gold & silver credits as you play. Other items worth collecting include food, special powers, one-off effects and the mysterious 'Yin-Yang' symbol, which remembers a location in case you die. You return there afterwards, see... The special powers you collect can be activated by using the shift key, and most are useful...perhaps some not so.
  446. Shopping for some skill?
  447. The shop will become your most regular point of call, should you play the game correctly. In it, you'll be able to buy additional attributes for your character: Skill is the key one, and increasing this will also have an affect on all of the other characteristics of the game.
  448. Conclusions
  449. Hmm.. Chaos Engine is one of those games which I found a little slow to get into - mainly because I'm not very good at it. I suspect that after playing the game for a while I'll get better, but really I've had it for a good few months now and that still isn't the case. One day, I'm still living in hope of a RISC OS version of Crash Bandicoot. Or Rayman. Or any other game of that type...
  450. If you're a fan of nostalgic 16 bit games of old, Chaos Engine is a worthy addition to your collection. If you're an appalling player of this type of game, get it anyway and get better!
  451. Editors note - David may not be very good at The Chaos Engine, but I  played it for ages on the Atari ST when it first came out and enjoyed it no end, it really is a very good game. It you don't believe me then why not try the demo version on this months CD.
  452. Product details
  453. Product:
  454. The Chaos Engine
  455. Supplier:
  456. R-Comp Interactive
  457. Price:
  458. £23 (add £2 for overseas postage)
  459. Address:
  460. 22 Robert Moffat, High Legh, Knutsford WA16 6PS
  461. Tel:
  462. 01925 755043
  463. Fax:
  464. 01925 757377
  465. WWW:
  466. E-mail:
  467. rcomp@rcomp.co.uk
  468. David Bradforth
  469.  
  470. ÿÿÿÿISSUE5/DISC/INDEX.HTM  ISSUE5, Disc World
  471.  
  472.  
  473. Disc World
  474. The RISC World Xmas bonanza
  475. David Bradforth and Aaron Timbrell explain the special offerings on this months RISC World disc
  476. During one of those editorial meetings, a telephone conversation (That's me relaxing in the office and David on a wind swept platform complaining about lack of trains - ED), which go on oh so regularly in the magazine industry, we were looking for ways to make the RISC World disc even better value for money. The articles are some of the most informative, interesting, examples of their type, true, but we've got an entire CD-ROM and so there is easily potential for much more.
  477. Much more in the way of what I hear you ask. Complete, commercial, applications I'm afraid. The aim for the future is that each disc will contain at least one fully working application and - if it's a time limited version as is the case this month - we'll always put another commercial item on the disc at the same time.
  478. What this means in a practical sense - the value of each RISC World disc, if bought retail, would increase substantially: the software on this month's disc being worth well over £200. If you have a particular item you'd like to see on the disc, please contact the editor, Aaron Timbrell, by email to 
  479. Textease Studio: Exclusive, 3-month, fully functional version
  480. One of the benefits, he admits under his breath, of having multi-platform capability within a house is you get to experience the best of both worlds. For example, on my Risc PC I have Photodesk 3 Light: easily a very capable bitmap graphics package; whereas my PC has a combination of Paintshop Pro 7 and Corel PhotoPaint 7.
  481. Textease Studio is somewhat unique, as it's available for PC, Macintosh and Acorn users all of which are file compatible. Perhaps more to the point, it's an incredibly capable piece of software, and has indeed been used for a number of advertising/packaging/newsletter designs by Softease Limited themselves.
  482. The latest edition of Textease not only includes a DTP/WP element, but adds a spreadsheet and database. If you're looking for a spreadsheet on a par with Eureka, or a database to match Datapower 2 you'll be disappointed, but these elements of the Textease suite are incredibly capable, and link in very well with the whole easy to use philosophy upon which Textease has always been marketed.
  483. This software is fully capable; you can save, print and so on until the end of February 2001. After that point, you'll need to contact Softease Limited, quoting RISC World, and give a credit card number to continue to save/print/fully use the software within this suite. Full details are given within the Textease archive on disc.
  484. DrawWorks New Millennium : Exclusive 1-month, fully functional version
  485. Well since we are running a series on DrawWorks it only seems reasonable to include the latest version. This is a fully functional version. However it does not include the extras supplied on the full CD, such as 2500 fonts, 2000 clips, Mr Clippy, FontFiend and many many others.
  486. DrawWorks New Millennium has received rave reviews from the RISCOS press and offers many advanced and professional level features unavailable on any other platform. If you are not sure how to use DrawWorks then consult the supplied on-line manual or see the DrawWorks articles in this issue or in issue 4.
  487. Professional Typography 2100 sampler: Exclusive from iSV Products
  488. With a DTP package and a graphics package on our disc, we'd be somewhat silly if we chose not to include some fonts for you to play with at the same time. It's not a big area we wish to go into though, so in the iSVFonts archive you'll find 50 sample fonts in 7 different families taken from the Professional Typography 2100 CD-ROM from iSV Products.
  489. There's easily enough here to provide you with a representative sample of the complete contents of this CD-ROM. Should you, after playing with these, decide to buy it there's a special RISC World price at the moment of £11.50 - call +44(0)1344 455769 or email atimbrell@aol.com. That said, the complete content of this CD-ROM is present on the DrawWorks New Millennium disc, available for £31.50 from the same number. DrawWorks Millennium (the older version) was reviewed in issue two of RISC World, with an update in issue three (and a full version on this months CD- ED).
  490. PublishArt 98 sampler: Special from APDL and iSV Products
  491. Clipart is a funny thing. Some of it's good, some of it's appalling. Most of it's pretty useless, if the truth be known. PublishArt, developed by SmartDTP, is a CD-ROM consisting of useful clipart. No better way to describe it really: it's useful clipart. There's a wide variety of items on this disc, for both print and web-based usage, on both PC and Acorn computers.
  492. The sampler archive was originally distributed with RISC User at the start of volume 12, but is included here as it contains a number of useful clipart items and it's possible that at least some of you were unaware of RISC User.
  493. To order PublishArt 98, please call APDL on 0208 778 2659 or iSV Products on 01344 455769.
  494. PlayBack: Complete Software from ProAction
  495. PlayBack allows you to record in real-time all mouse and keyboard operations as they are carried out. Recordings may be saved and replayed, making it an ideal tool for training and demonstrating the features of the desktop and RISC OS applications. Gone, almost, are the days where you have to sit with an individual child at the computer showing them how to use Draw – PlayBack can do it all for you!
  496. Features of PlayBack include:
  497. Synchronised text commentary may be added to recordings.
  498. Recordings may be converted to ASCII format for editing and fine-tuning.
  499. A Public Domain play-only version is supplied, which may be freely distributed with your recordings.
  500. Recordings may be up to one hour long.
  501. A repeat operation is available allowing for continuous demonstrations.
  502. Works with all RISC OS compliant desktop software.
  503. This software is not public domain, and is being provided as an example of the capabilities of the software. It is, none the less, the full software. To register, and obtain the source code, please email dbproaction@aol.com who'll be glad to send details to you.
  504. The Complete DiscWorld list
  505. So in alphabetical order this months DiscWorld contains:
  506. ANCESTOR+ - Demo version of APDL's Ancestor+.
  507. ARMCODE - files supporting the ARM Code articles by Brian Pickard.
  508. BEGINPRG - The examples from the BASIC programming series.
  509. CHAOSDEMO - A demo version of The Chaos Engine from R-Comp.
  510. DWNM - Full version of DrawWorks new Millennium (time limited).
  511. DWORKS - Example drawfiles from the DrawWorks Revealed series.
  512. FONTS - 10 sample font families from Typography 2100.
  513. HTML3 - A new full version of the HTML editing package.
  514. PD - The latest PD software from our PD column.
  515. PLAYBACK - Complete version of this mouse recording software.
  516. PUBLISHART - Sample images from Publish Art 98.
  517. SPHERES - The shareware version of Spheres of Chaos as featured in Games World.
  518. STARPROG - Programs from the StarProg article.
  519. TEXTEASE - Full version of TextEase studio (time limited).
  520. TYPO2500 - Examples of all the fonts supplied with DrawWorks New Millennium.
  521. WML - Support for the HTMP/WML article by Richard Goodwin.
  522. Utilities
  523. This CD-ROM contains a number of utilities and pieces of software to accompany the articles in the magazine, as well as two copies of the magazine. The copy of the magazine 
  524. There are three utilities to help you read this disc (RISC OS users only). These can be found hidden inside the !RiscWorld application in the UTILITIES directory (The !RiscWorld application automatically uses these utilities if they are required):
  525.  A file-only copy of Fresco, to display the HTML. This will only run if you don't already have a copy of Fresco installed, so that it won't overwrite your cache.
  526.  ArcFS, which can be used to read some of the archived software on the disc.
  527.  SparkPlug, an alternative de-archiver which can also read Zip files.
  528. Usenet archive
  529. Also included on the disc is an archive of the comp.sys.acorn.* newsgroups since early October 2000. These are stored in a special read-only version of Messenger Pro which will allow you to view the messages, but nothing more complicated. The archive is presented 'as is', and RISC World doesn't make any guarantee about the usefulness, relevance or acceptability of any information contained in it.
  530.  
  531. ÿÿÿÿISSUE5/DWORKS/INDEX.HTM  ISSUE5, DrawWorks Tips
  532.  
  533.  
  534. DrawWorks Revealed
  535. Aaron Timbrell continues his series on DrawWorks New Millennium.
  536. DrawWorks Effects
  537. DrawWorks New Millennium offers a great range of tools, however quite often it can be difficult to see how to achieve a particular effect. One of the main strengths of DrawWorks is how the tools can be combined and even altered to produce much more amazing effects that one would initially imagine could be possible.
  538. The Lining Tool
  539. A number of the tools in DrawWorks can have their own effects written for then and then saved for later use. When you make a customised effect it will then appear on that tools menu every time the tool is opened. For the first example we will cover the DrawWorks Lining Tool. In these examples a line of text was typed directly into the Draw window using the default font (Homerton) and the default size (14pt). This line of text was then selected and the lining tool button was clicked on.
  540. As a simple example we will make a new style called "Example1". Type "Example1" in the writable icon next to the word style near the top of the window. Now type 1.00 into each of the width icons. Now click on the "NewFX" button. Nothing seems to have happened but if you now open the style menu you will find the style "Example1" on the list.
  541. At the moment it looks like this new style does nothing, this is because only the fill colour of the objects is set (in this case black) the other colours are white and don't show in the white window. Try changing the other colours to see what happens.
  542. As you can see once the colours have been changed the result can be clearly seen in the preview at the top of the window. To keep the results of any changes you make to this new style/FX click on the "KeepFX" button. At this point it is worth pointing out how the line width icons work. The figure shown for each line is the thickness applied to that particular colour. So in the example below the total line width of the object will be 21mm (a 10mm wide green line, followed by a 10mm red line, followed by a 1mm cyan line). You will be able to see this more clearly if you change the middle line colour from red to white.
  543. However enough if this, lets see what the lining tool can actually do. Lets us suppose we want a distinct white space around some text that is going to be on a coloured background, we can achieve this by setting the outer line colour to white.
  544. I would suggest that you have a play with the lining tool to see what sorts of effects can be produced by changing the colours and the line widths. Don't forget that the lining tool on DrawWorks New Millennium can also use Named and PureTint Colours. So you could make a style that contained shades of a Named colour. The example below shows this done with various shades of iSVOrange from the Named colour picker (you can see the "Named" button is selected).
  545.  
  546. However although we can see the lines of colour the actual letters get a bit lost. This is simple to solve, the version made by the lining tool is dragged into the Draw window. It is then selected and placed behind (CTRL B) the original text that was used for the effect. To ensure that the whole design is aligned correctly both parts are then selected and and the Justify tool (from the edit toolbar) is used to align the lined part and the original text to both the "Centre" and the "Middle".
  547. We could also now try just changing the text colour. Since the lines that make up the shading are paths and the original item is text, we can just use the DrawWorks text colour dialogue box to change the text colour to white. The drawfiles that make up both these example can be found in the DWORKS directory inside the software directory on this CD.
  548. The Path Moulder
  549. One of the other tools that can have its own effects added is the path moulder. This tool allows you to fit a selection of objects into a mould. Making your own mould is covered in the DrawWorks manual however sometimes it does seem to cause a few problems. Simply put, a mould consists of two lines produced in Draw (an example Mould is in the drawfile called MOULD in the DWORKS directory on this CD). The lines need to be drawn in the correct order and the correct way round. Draw the top of the mould first from left to right. Then draw the bottom of the mould from left to right. Now select the object you wish to mould in the Draw window and click on the Path Moulder button. Once the Path Moulder window opens select the mould itself and drag that into the right hand half of the Path Moulder window (where the mould preview is). You will now be asked to name you mould and it will then appear on the Path Moulder menu. Note that when you draw a mould the two parts must NOT be grouped or you will get an error message.
  550. Once we have imported the mould we can now mould the object. The picture below shows the Path Moulder window and the resulting shape after moulding.
  551. DrawTrix
  552. Initially this shape looks fine, however it is meant to be in 3 dimensions. So the width of the letters at the edges should be narrower than those at the centre. To correct this fault we can now take this object and manipulate it in DrawTrix. If we select the object and click on the DrawTrix tool the DrawTrix window will open. Now choose "3D.Cylinder" from the DrawTrix menu and click on the "Transform" button.
  553.  
  554. Some people may notice that the version created by DrawTrix looks a little odd. This is because DrawTrix has changed the line joins to bevelled. In order to correct this simply select the object and change its line joins to round from the DrawWorks toolbar.
  555. The object we need is now finished, as you can see we have used a number of DrawWorks tools to make it. Not only that but we have customised two of the tools in order to get the results we wanted.
  556. So what is it?
  557. Now the objects is made what on earth am I going to do with it. The answer is simple. Place it around the neck of a wine bottle where it belongs!
  558. If you want to look at the finished design it is called FINI and is in the DWORKS directory on this CD. See you next time.
  559. Aaron Timbrell
  560.  
  561. ÿÿÿÿISSUE5/EDITOR/INDEX.HTM  ISSUE5, Editors Corner
  562.  
  563.  
  564. Editors Corner
  565. Aaron Timbrell's own bit of the magazine.
  566. One word, Omega. This is the most important development in years. Not just because it gives customers hope for the future but because it gives everyone a good kick in the backside. A newer, faster, better computer is now just around the corner. This is great news for customers and great news for dealers and developers.
  567. A new machine being delivered to a customer has a major knock on effect down the market. The customer gets a new machine, and to go with it they buy some goodies (software, hardware etc.). Often they then sell their old machine. The person who buys the older machine then goes out and spends some money on goodies as well. Suppose the owner of an Omega sells their Kinetic RISC PC to someone who has an older RISC PC with an ARM 710 processor. The person who had the 710 machine then sells that on to someone who had an A5000 or similar. You can see that one new machine results in three customers who have an improved computer and want new stuff to go with it.
  568. So it's great for dealers and developers, but what about other computer manufacturers? We have four companies developing machines for the market, Castle, Microdigital, Millipede and RISCStation. Millipede's Imago board has been exciting the market for ages, but you still cannot buy one. Now the Omega is coming you may well make the same decision I have. I was going to place an order with Millipede as soon as the board was available, now I will just go and buy an Omega. The specifications seem to indicate that the Omega will be superior as well as cheaper. Would you buy on Imago board now the Omega has been announced?
  569. The current top of the range computer is the Kinetic RISC PC. The Omega costs the same amount (£999.00 + VAT) but is much much faster and with far superior graphics. If Castle want to continue selling the RISC PC they will have to cut it's price quite drastically. Will Castle be able to do this? If they don't then they are going to need a new machine either as good as or better than the Omega and they are going to need it quickly.
  570. RISCStation have sewn up the bottom end of the market with the R7500 and we know they are working on a new machine, the RISCStation Evolution. The up and coming portable will prove very very popular, and the new Osaris handheld is selling in large numbers.
  571. Things are about to change dramatically. I wouldn't be at all surprised if the Omega forces the pace of development from all the manufacturers, and that can only be good for everyone. With the onset of the Omega the other manufacturers have a stark choice, either develop a newer faster machine themselves, or sell copies of the Big Issue.
  572. Traditional Editors bit
  573. Since we have a rather packed DiscWorld this month I suppose I ought to do a traditional editors type column. So it goes something like this.....biggest issue ever.......exclusive fully working TextEase Studio........exclusive fully working DrawWorks New Millennium.......Fonts......Clipart.......even more new subscribers.......new computers........barometer of the market. Will that do?
  574. Editors Rant of the month
  575. This months rant is CDFS and the type of support problems it can attract. Yes that's right CDFS, the wonderful filing system that allows you to read CD-ROMs. However it isn't just any CDFS that is the object of my loathing, but CDFS supplied as part of RISC OS 4. Now I have to confess I do like RO4 a great deal, it is faster and superior to any previous version of RISC OS, apart from CDFS.
  576. So why on earth single out CDFS for a bashing? Simple it causes us a lot of support headaches. To put it bluntly it's broken. Ah, but I hear you say "Well I've never had any trouble with it, everything works.....etc", well it may have worked on the CDs you have tried so far but sooner or later (and probably sooner) it will go wrong and give you some of its favourite error messages such as "Cannot read Audio discs" or the every popular "CD-ROM drive is empty" or indeed one of several others. At this point most people would ring the publisher of the software, or send them an e-mail. The publisher should then be able to point them towards the RISCOS Ltd website and the softoaded version of CDFS that can be used to fix the problem 
  577. Having got a problem the first thing the customer does is to return the CD without ringing (or e-mailing) first to see what the problem is. Ideally before returning to CD they use it test various types of sandpaper to ensure they are of the correct grade. Now they parcel up the CD (without the original jewel case as they can keep that) and then send it back with a snotty letter demanding a replacement.
  578. We will of course test the CD (on a machine that works) and then find that even though it has been scratched almost beyond redemption it does still in fact work. We then return it, at our expense, with a new jewel case to prevent it getting damaged. Inside the case will be a letter highlighting the problem and suggesting a visit to RISCOS Ltds website.
  579. Now the next bit is very important. The customer now ignores the letter and rings at 5.29 and 55 seconds just as we are about to close. Then they have a damn good complain whilst the chap on the other end of the phone (usually me) tries to explain that "yes I am sure the machine has worked up to now" but it won't work with this CD until they follow the instructions for dealing with the CDFS problems on the RISCOS Ltd website.
  580. Having blatantly told the software developer that they think they are lying the customer then goes to the RISCOS Ltd website. The instructions they were given then somehow get lost between brain and mouse hand. So instead of downloading the CDFS driver, they install another copy of RISC OS 4 Patch 5. This of course does nothing to help the problem, so they complain again. Having been told what to do for a 2nd time the customer soft loads another copy of CDFS then checks the CD that was causing the fault. They then discover it works fine. Under no circumstances do they phone the software developer and apologise, or even say "thank you, I have followed your advice and it all works fine now".
  581. This months rant is sponsored by Mr F from London.
  582. Printing RISC World
  583. The new look of RISC World means that when you want to print an article on your printer it will have the light yellow background. However most web browsers allow you to turn off the background images when printing. The example below shows the print dialogue box from Fresco.
  584. As you can see the option "No Background" is ticked. If you want to print out any of the RISC World pages then make sure you have clicked a similar option in your browser.
  585. Aaron Timbrell
  586.  
  587. ÿÿÿÿISSUE5/EPSOM/INDEX.HTM  ISSUE5, RISC OS 2000 Show
  588.  
  589.  
  590. What happened at the Epsom Show?
  591. Aaron Timbrell got let off the iSV stand for a few minutes...
  592. Well well, who would have though it? Having had a whole summer full of doom and gloom merchants we come to the RISC OS 2000 show. Hosted at the Queens stand at Epsom Racecourse the show was quite an eye opener. Why? Quite simply it was one of the busiest shows for years. The problem with two day shows (speaking as an exhibitor) is the the second day is always much quieter, and by the afternoon of the second day the only people strolling around are other exhibitors.
  593.  
  594.  
  595. Still busy, and this is about an hour before the show closed!
  596. This show was different, it was manic on Saturday and on Sunday. The Arm Club came up with the superb idea of allowing Acorn User group members to come on Sunday for free. The results spoke for themselves. The organisation couldn't be faulted and neither could the venue. Still enough about how good I thought the show was, how about some of the other exhibitors?
  597. "Very busy, its good to see new faces, there is a new awareness that the RISC OS world is changing."
  598. Paul (RISCOS Ltd)
  599. "The busiest RISC show ever!"
  600. Jack (Castle Technology)
  601. "Very very busy, we have sold lots of upgrades"
  602. Chris (CJE)
  603. "A very very good show, even better than last year."
  604. Richard (Millepede)
  605. "I'm knackered. There has been a massive interest in the portable, and the Osaris is selling very very well. I'm off to do a talk, it's the only way to handle the interest"
  606. Roy (RISCStation and CTA)
  607. So a good show all round, but what was new, what caught everyone's interest?
  608. Show Hi-lights
  609. One word, Omega, that was the major hi-light, a new StrongARM computer from 
  610. But what else was there apart from the Omega and the new Osaris handheld (reviewed in 
  611. The newly born 
  612.  
  613. Photodesk Ltd (the only time the stand wasn't three deep in customers)
  614. In the odd bits of hardware corner we had the in-car MP3 player from Hugo Fiennes company EMPEG. I have to say the display reminded me of some of the newer SONY in-car CD players, and believe me that is a great compliment. Also on display on the next stand was the RiscPC based radar system.
  615.  
  616. EMPEG in car MP3 player with real time display 
  617.  
  618. The sensible end of the R-Comp stand, the games were the other end!
  619. As for 
  620. Also on the selling out of products front 
  621. All the big names from the RISCOS market were in evidence and if I have missed anything I can only apologise. So that was Epsom, very busy, lots of eager customers and a real good feel to the entire show. If this years show is anything to go by next years will be even better. Now we have to wait a whole 6 weeks for the Arm Club Midlands Show, perhaps we may even see an Omega or two and perhaps a pile of RISCStation portables........
  622. Aaron Timbrell
  623. A credit is due to Richard Goodwin and the 
  624.  
  625. ÿÿÿÿISSUE5/GAMES/INDEX.HTM  ISSUE5, Games World
  626.  
  627.  
  628. Games World
  629. David Bradforth on games.
  630. Despair is one of those things that's somewhat self-defeating. Sorry? Is that somewhat cryptic for you: please accept my apologies. Last time, I wrote of how the games market was somewhat quiet. I didn't, at the time, know of the wealth of releases the games companies (and some others) were planning in the run up to Christmas and the New Year season.
  631. In what follows, you'll receive details of what I can tell you now: the next issue of RISC World, in the new year, will include the complete Christmas/New Year run down of games-related releases. Anyway, let's get right into it: there's so much to do, and so little time...
  632. RISC User Nutshell: Edition 2
  633. The RISC User: In a Nutshell CD-ROM contains a wide variety of games, utilities, articles, etc, etc. Edition one was produced to coincide with the last issue of RISC User magazine, and contained a large number of items in their original form; with the exception of the articles in which there were a number of alterations. However, these were available only to RISC User subscribers; leaving a lot of people without a very useful little CD-ROM to add to their collection.
  634. An updated RISC User: In a Nutshell CD-ROM brings Desktop Hacker to RISC OS 4 for the first time.
  635. R-Comp Interactive, at the RISC OS 2000 show, launched an updated edition of the RISC User Nutshell CD-ROM containing, amongst other things, a RISC OS 4 compatible edition of Desktop Hacker. A number of full game titles are also included on the disc, both commercial and RISC User originals - if you're a programmer type, then the source code for some will also be useful.
  636. The new edition is available for £32 from R-Comp Interactive, on 01925 755043 or by email to rci@rcomp.co.uk. Give them a ring, should you wish to enquire about CD-ROM upgrades. We'll be taking a look at the additions to this disc in the next issue of RISC World.
  637. Best Games Collection 3
  638. The two 'Best Games' CDs from APDL have done really quite well for themselves. As is usually the case when products sell, what do we all think this means? Yes there's to be a new Best Games CD-ROM from APDL. In a previous life ... well two actually ... I've reviewed both of the previous CD-ROMs, and they basically consist of twenty-odd high quality freeware/shareware games; all of which are modified to allow high scores to be saved to a single location on a hard disc.
  639. I have not, as of yet, properly delved into this collection, but - as you should be able to see below - there's a good selection available, covering most gaming genres; from chess through alien blasters, strange tetris variants to classic games most of us know of.
  640. More games than you could ever imagine: again!
  641. The disc is priced at £7.90 - should you wish to obtain further details first, please contact APDL on 020 8778 2659, or view their website at 
  642. Logic Mania on CD-ROM
  643. Back at the Acorn World show in 1996, The Fourth Dimension released Logic Mania, a value for money compilation consisting of four games requiring more thinking than daring do. They've been somewhat quiet of late, but we're pleased to announce the release of a new CD-ROM edition of Logic Mania. As I write, the price of the CD-ROM has been set at a special offer of £20, until the end of the year.
  644. In addition to the four original titles - Atomix, Tilt, Gloop and Blindfold - this edition includes Master Break and Hostages, two strategy games from the Superior catalogue.
  645. I was responsible for the updated edition of Logic Mania, and shall therefore refrain from further comment - we have, however, included the original review of Logic Mania as published in Archimedes World. I wrote this before I became involved with The Fourth Dimension, and therefore the conclusion is just as valid today as it was then.
  646. Should you wish to order the Logic Mania disc, please call R-Comp Interactive on 01925 755043, or email proaction@rcomp.co.uk. Until the end of the first CD-ROM run, this disc also includes Technodream.
  647. Spheres of Chaos
  648. How many Acorn users have a long memory? I'd have to say my gaming memory as far as Acorn/BBC computers is concerned is pretty good: Spheres of Chaos was originally released by Matt Black in Peterborough, back in 1992. Best described as a somewhat up to date version of Asteroids, Chaos adds more action elements - including multiplayer options - to make a classic last longer!
  649.  
  650. Spheres of Chaos in its pretty much original form [uses some 500K]...
  651. Perhaps the most exciting aspect of this new release of Chaos is it's recently gained multi-platform potential. Whether it's down to practising his C or just cos he wanted to we'll never know, but Iain McLeod has written RISC OS, Windows and Linux versions of Spheres of Chaos - all of which are available as shareware, for you to pay for if you continue using.
  652. The Windows version 95/98/2000 (which uses DirectX and, as a result, doesn't work on ME or 2000) needs about 12 MB of free memory, DirectX 5 (available from http://www.microsoft.com/), a mouse, an SVGA video graphics card, a P90 processor and a sound card - all of which should be configured as per the usual 'trial and error' method of PC gaming.
  653. The RISC OS version is somewhat demanding for an Acorn game; requiring 12Mb of RAM to even consider working correctly. That old bug-bear, the 'Monitor Definition file' needs to be installed into your system before the game will even consider working; but other than that it's somewhat of a classic addition.
  654. We've taken the liberty to include on this month's disc the Acorn version of Spheres of Chaos. Just for the record, we at the Games World office prefer the Acorn version to the PC version: it seems to have a little more in the way of class. It's all a matter of taste, though.
  655. One problem, though: it does my eyes in.So what of future developments?
  656. I can't reveal exactly what's coming, but I can give little sneaky hints.
  657. One company will soon have more classics than even they know what to do with.
  658. Another, occasional, contributor to the games sphere is planning a new games compilation.
  659. A BBC classic is shortly to have a desktop comeback for RISC OS.
  660. The full details will be revealed in the next issue.
  661. David Bradforth
  662.  
  663. ÿÿÿÿISSUE5/LETTERS/INDEX.HTM  ISSUE5, Letters Page
  664.  
  665.  
  666. Letters Page
  667. It's bright, it's breezy and the answers are cheesy!
  668. Welcome to the first ever RISC World letters page. Lets face it we are now up to issue 5 and so far we haven't had a letters page, simply because no one has bothered writing in. However after our esteemed editor took over on issue 4 it seems that everyone, well hundreds......er....ok a few people have written to us.
  669. Dear Sir,
  670. I enjoyed reading the Weird World Web article by Hugh Jampton.
  671. It has always puzzled me why people make fun of names.
  672. Yours sincerely,
  673. Ivor Littlehampton :-)
  674.  
  675. I am delighted you enjoyed the Weird World Web article, did any of our readers solve how the Magic Trick was done? I have never understood why people make fun of names either. However it does seem that you may have got the short straw.
  676. Dear Editor,
  677. Thanks for the tutorial on DrawWorks. I have had the Millenium edition for a
  678. few months now but never really found time to get to grips with it. I spent an
  679. hour or so working through the Logo example and learned an awful lot. More
  680. Please.
  681. Angela Craggs
  682.  
  683.  
  684. The DrawWorks series seems to be very popular and our editor has been nailed up in his box writing the next instalment for the last few days, which is why I've been allowed to write the letters page! However if there are other things you would like to see in RISC World then just ask, and we will do our best to write what you want.
  685. Dear Editor,
  686. I think you should resign and give the job to that nice
  687. Hugh Jampton.
  688. Yours
  689. Mrs Jampton
  690.  
  691. Gosh, such support, and from my mother too. If you think the editor should resign and I should be put in charge just send a cheque (made out to cash) to Hugh Jampton Support Fund, 12 Watercress Crescent, London, WC Fields.
  692. Dear Editor,
  693. Perhaps I might be allowed to make a few comments - I hope that you
  694. will not take offence.
  695.  
  696. Tickled that I have won the latest 'CrossWord' competition.  I hope to go to
  697. the South-East Show at Epsom and will see David/APDL there.  However, is it
  698. not time to vary the type of puzzle.  It took me no time at all to do the
  699. latest one, helped greatly by Publisher's spell-checker.  I'm not submitting
  700. my solution and I trust that you would stop individuals getting repeat
  701. prizes.
  702.  
  703. Thanks for someone sorting out the UseNet access - I had been meaning to say
  704. that I had failed previously to be able to read them.
  705.  
  706. This edition of Risc World has two 'blemishes' that I have not met so
  707. persistently before.  (1) I was frequently told that I could not read audio
  708. discs - a second click then loaded the required file - irritating but not
  709. fatal; (2) the HTML kept 'breaking up' when I went back to earlier pages -
  710. backgrounds changed, the bar down the left-hand side disappeared or got
  711. 'jitters', and what I assume are HTML commands were displayed instead of
  712. early parts of the page.
  713.  
  714. I run this on a RiscPC with an early StrongArm chip, RO4.02, using Fresco
  715. 2.02 and cdfs 2.37.
  716.  
  717. I do not like your new speckled-yellow background - my eyes are getting old,
  718. and it adds an unnecessary challenge to my reading text on the screen.  Like
  719. some magazines that I know that have created very pretty-looking pages by,
  720. for example, having text superimposed on a picture of a breaking wave, or
  721. where the background is partly dark blue.
  722.  
  723. Best wishes
  724. Graham Howlett
  725.  
  726. I have had to refer this one to Aaron for his comments:
  727. Firstly the Puzzle has now been pulled from RISC World. We may well be introducing a new type of puzzle in the future. The person to thank about the UseNet access is Andrew Rawnsley, and he does a sterling job. The problem with the CD may well be down to the version of CDFS you are using, see the editors 
  728. Well that's it for the letters page, I'm off to stick pins in a model of Gordon Brown, see you next issue!
  729. Hugh Jampton
  730.  
  731. ÿÿÿÿISSUE5/LOGICMANIA/INDEX.HTM  ISSUE5, Logic Mania
  732.  
  733.  
  734. Logic Mania
  735. David Bradforth reviews Fourth Dimensions/R-Comp's first mind-taxing compilation.
  736. Logic Mania is a compilation of four new games to the Acorn platform; one being a conversion from the PC with two based on existing themes and one original idea.  All four of the games can be installed to your hard disc, but I was amazed to find that one of the games, Blindfold, would not work on my StrongARM Risc PC.  The problem has now been solved, so hopefully should not arise with any versions you may buy.
  737. Gloop is based upon PipeMania, that rather classic game requiring you to build a pipe long enough to hold the 'flooze' (or, in this case, 'gloop') as it flows around the scene.  The first thing which struck me about Gloop is the plot given in the manual - it is actually quite funny.  This, in itself, is the mark of a fairly good game because it shows that a certain amount of thought has been put into the game situation.  Playing the game is quite simple; in all levels you have a start pipe (from which the gloop will start) and in some you have an end pipe (and if it's there, you must end there!).  There are a number of bonus pipe sections, such as cross over pieces, one way pieces and so on which will give you more points should you travel through them; and there's the reservoir too which slows the gloop down.  The music which accompanies the game is reasonable, with the necessary speeding up of the pace when the gloop is released; building up atmosphere and generally bringing you out in a sweat.  All in all, the game does look a little less polished than PipeMania, but it is a very good implementation of the theme and well worth a look.
  738.  
  739. Flooze...sorry...Glooop. It's PipeMania with a difference...
  740. Blindfold does, in some ways, follow the example set by games such as Repton and Rockfall in that it's a maze game with things to collect and things to avoid.  However, the game is made a little more difficult because, after an initial view of the maze, you have to complete it with a picture covering over the maze itself.  Although this may, for some people, make the game incredibly hard it's actually a surprisingly easy game to play.  By holding down two direction keys, you can end up going through an exit where you forgot there was one, and may even finish the level as a result.  The aim of the game is to reach the exit, and to do this you may need to pass through a key first [hence allowing you to pass a lock].  In the early levels, Blindfold is initially easy - by testing the control keys, you can complete a level without too much difficulty.  As the game progresses, it really does tax the mind - trying to remember where the bombs (which kill you) and ice (which slows down your progress) are whilst trying to collect the 'bonuses' [such as Cash, Extra Life, and so on] is a superb way to waste time.
  741.  
  742. Today, Matthew, I shall not have the foggiest idea how to get to the stage from the back room. Sure, I'm wearing a Blindfold but why should that matter?
  743. Atomix is a curious PC conversion involving you to create molecules in a variety of different quantities and formats; starting off with fairly simple arrangements but progressing to more complex ones.  Different molecules have different 'valences', and hence can only be connected to a certain number of other molecules.  The aim of the game is to complete the task set, and clear the screen before progressing to the next level.  The game itself installs onto the icon bar, providing the options illustrated in the screenshot.  Volume controls the overall volume of the sound effects and music within the game; Sound FX controls whether or not sound is played during the game, Music does the same; VGA display seems to make the game work in a smaller screen mode (to test our eyes as well as our logic?), RFTM Joystick allows users of the RTFM joystick to play the game using this, and Save saves the current situation.  In play, the music builds up the atmosphere; with the sound effects providing short, but meaningful, bleeps and wooshes.  The gameplay itself is compulsive; after you've completed the first level, the rest of them start to seem easy.  They're not; however; so be prepared for a mind-taxing experience.  I loved it!
  744. Atomix also has a level editor, which allows you to produce levels to tax one another with; it's a good idea to provide editors in games such as this, because once you've done it once it does tend to get a little boring - level editors add a new dimension to the game.  It's just a shame it's the only game in Logic Mania provided with a level editor.
  745.  
  746. Atom Attack...but can you get them into the right place? Even now, four years after I first played the game, I can't!
  747. Tilt is a game which, at first glance, struck me as 'yet another' Tetris clone; but turning the base of the Tetris alley into a See-Saw; and if one end of the See-Saw touches the base of the screen you lose.  Quite simply, that's what it is; but it's a lot better than it seems at first glance.  I believed there was very little more that could be done with the Tetris plot, but this game is truly addictive.  The aim of the game is to make lines of three (or more, in later levels) of the same object disappear.  As the game progresses, it becomes more difficult due to a number of pieces already being laid onto the See-Saw; narrower balances; strange-shaped pieces (e.g. 'L' as per Tetris) and so on.  I was a little disappointed at the lack of any atmosphere-building sound effects; with just a suitable boink when a piece reaches the rest of your 'construction'; and I do wonder why there's no music proclaiming the end of the level.  That said, I thoroughly enjoyed this game and in the two-player mode a new dimension would be added to the title.
  748.  
  749. Tetris on a Platform?
  750. Conclusion
  751. Logic Mania sets out to challenge powers of memory, observation, dexterity, reasoning, logistics and common sense and; to my mind; it does all of that and more - the 'stretching the player to the point of frustration' claim is certainly true.  Perhaps more importantly, the games are of a consistently high standard and are all thoroughly addictive; should you get the time to play them.
  752. Product details
  753. Product:
  754. Logic Mania CD
  755. Supplier:
  756. R-Comp Interactive and 4D
  757. Price:
  758. £22 (add £2 for overseas postage)
  759. Address:
  760. 22 Robert Moffat, High Legh, Knutsford WA16 6PS
  761. Tel:
  762. 01925 755043 (R-Comp) 01903 523222 (4D)
  763. Fax:
  764. 01925 757377
  765. WWW:
  766. E-mail:
  767. rcomp@rcomp.co.uk
  768. David Bradforth
  769. Editors Note
  770. As explained in the GamesWorld column, David Bradforth wrote this during his tenure at Archimedes World: the article was written before he had anything to do with The Fourth Dimension or R-Comp or any financial interest at all in the outcome of it.
  771.  
  772. ÿÿÿÿISSUE5/OMEGA/INDEX.HTM  ISSUE5, RISC OS 2000 Show
  773.  
  774.  
  775. Omega Men
  776. Laurence Granville shines a torch on the Omega
  777. A couple of quick questions, what is four times the speed of the current Kinetic RiscPC, but will cost the same amount? What will be able to run all current 26bit applications on a 32 bit operating system? What does away with the old Acorn chips such as VIDC and MEMC? What have MicroDigital been doing for the last two years? The answer is Omega.
  778.  
  779. The new Omega computer
  780. So what eactly is the specification of this new computer? Well you asked....
  781. Motherboard
  782. ATX form factor, Dual processor design : Intel StrongArm 110 rev T
  783. Optional daughter board processor: Intel Xscale 80200, 733MHz
  784. Memory
  785. 64Mb PC133 SD RAM, Expandable via 2 x DIMM 1Gb max.
  786. 10MB Flash Memory Operating system + modules
  787. 240 Byte battery backed up CMOS RAM
  788. Lightning + video chip :
  789. Hardware JPEG and MPEG decoding
  790. 2D and 3D acceleration
  791. (VRAM via main memory)
  792. 240MHz DAC
  793. 2048 x 1536 x 24 bit colour@72Hz monitor dependent
  794. I/O ports and interfaces
  795. Parallel printer port 25 pin D connector
  796. PS2 Mouse interface
  797. PS2 Keyboard interface
  798. 2 RS 232 Serial ports up to 460KB/sec via 9 pin D connector
  799. 4 USB Ports @12mbit/sec
  800. ATA 66 Ulta IDE interface via 2 IDE 40 way connectors supports 4 devices
  801. Expansion
  802. 4 x 32bit x 33MHz PCI slots
  803. Modem
  804. 56k internal modem
  805. Real time clock
  806. Day, date, month, year, time and BST time.
  807. Multiple alarms
  808. Operating System
  809. RISC OS v4.03
  810. Will support 32 bit operating system when available
  811. Hard disc drive
  812. Capacity 20GB
  813. Hard disc drive management system :
  814. IDEFS 32 bit Hard Disc Management System
  815. Password protection, protect and unprotect, Read Only, and No Access
  816. Drive partitioning
  817. CD ROM drive
  818. 52 speed
  819. For customers placing advanced order a CD-writer with CD-Burn can be supplied for an extra £0 instead of the CD-Rom drive
  820. Floppy disc drive : Supports all Acorn/PC modes
  821. Audio System
  822. PCI Sound Blaster compatible card
  823. Physical dimensions
  824. 180mm wide x 360mm high x 280mm deep
  825. Case
  826. Mini Tower
  827. Colour silver and light grey
  828. Control buttons blue
  829. Twin fans
  830. Full emission and safety approvals.
  831. Software
  832. Sound Editor, Edit, Paint, Draw. Risc OS 4 utilities
  833. Pipedream4
  834. Fireworkz Pro
  835. EasiWriter
  836. Language : BBC Basic
  837. Optional extras
  838. Midi tower with 300Watt PSU
  839. Colour blue and light grey
  840. As you can see from the first picture the Omega is quite small, although a larger case can be supplied as an option. So how does all this fit into such a small case? The answer is below.
  841.  
  842. Inside the Omega
  843. Why is this important
  844. The Omega is the most exciting RISC OS machine ever, even more exciting and important than the Risc PC. This is for a number of reasons. Firstly it is much faster, even running the same 233Mhz StrongARM as a Risc PC it outperforms it by a factor of four. This is due to the Lightning graphics card, the main processor no longer has to do all the work involved in updating the screen buffer, this is now done with dedicated hardware. You may be surprised to find that 75% of the load on your current machine could be just for the screen display.
  845. Not only is the machine faster but it finally gets rid of the old Acorn VIDC and MEMC chips. Although these were fine chips in their day (the early 90's) they are now seriously slow and underpowered. The old 16Mhz memory bus from the Risc PC has been binned and we now have a 66Mhz bus running modern 133MHz memory which again makes the machine faster. The Omega represents the much requested Hardware Independance. We no longer have to rely on outdated chips. Not only that but the Omega has been designed with clever hardware which allows the operating system to think it is still running on the old chipset.
  846. And perhaps the most important part, you will be able to fit an XScale (StrongArm2) processor card. This means we could have a 1GHz RISC OS computer some time next year. However there is one big problem with the XScale. It no longer supports the 26bit operations required to run RISC OS and many RISC OS applications, such as ArtWorks and Impression. This is the really clever bit, the Omega solves this problem. The old 26bit code runs on the StrongArm, new 32bit code runs on the XScale. No switches on the case, no messing around. The computer simply directs code to the relevant processor on the fly as you are using it. Some parts of RISC OS are already written in 32bit code, as more and more of the OS is converted the Omega gets faster and faster. While this is happening you can still run all the old software you want. The Omega is the future, I'm off now to go and order one, perhaps you should to?
  847. Product details
  848. Product:
  849. Omega
  850. Supplier:
  851. Microdigital Ltd
  852. Price:
  853. £999.00 + VAT
  854. Address:
  855. 37 Titus Street, Saltaire, Shipley, West Yorks, BD18 4LU
  856. Tel:
  857. 01274 618774
  858. Fax:
  859. 01274 619482
  860. WWW:
  861. E-mail:
  862. sales@microdigital.co.uk
  863. Laurence Granville
  864.  
  865. ÿÿÿÿISSUE5/PD/INDEX.HTM  ISSUE5, PD World
  866.  
  867.  
  868. PD World
  869. Paul Brett with the latest PD roundup.
  870. The last few weeks have been a very busy time in the PD and Freeware world, with new versions of a number of applications being released. The same seems to happen around this time very year, it must be the winter nights closing in. Anyway what have we got for you this month?
  871. X Word - Alan Trewartha
  872.  There are lots of crossword games, but X-Word is the only free-to-use version with a challenging computer opponent on RISC OS computers. If you would prefer a different board layout or set of tile scores, X-Word also comes fully configurable. It's a drag-and-drop "classic" game for the desktop. Play against the computer or a friend.
  873. If you want you can also download the alternative Adult109 lexicon. This is an alternative to the Adult lexicon containing all 109 of the accepted "tournament" 2-letter words. (This is a 96K zip file.)
  874.  
  875. X-Word features: 
  876. Up to 4 players 
  877. Computer opponents playing at any of 10 skill levels 
  878. Configurable board size and layout 
  879. Configurable tile scores and frequency. 
  880. Three lexicons (Child, Adolescent, Adult)
  881.  
  882. To help you compile your own lexicons, this release is accompanied by some extra programs written by Hans van Gink for just that purpose.
  883.  
  884. Shade - Alan Trewartha
  885. Double click on a title bar with adjust to reduce a window to its title bar. Double click on a reduced window to restore it. In fact just like a Macintosh, only you still keep RISC OS and a sensible mouse. When !Shade is running, you can open a useful control window by double-clicking its icon again (as if to run it again). This window allows you some extra functions and controls some aspects of the way the program works:
  886. All -  Select shrinks all the windows. Adjust opens them all.
  887. Tidy -  This lines up all the reduced windows in a neat stack below the !Shade window.
  888. Info - This opens this !Help file.
  889. Quit - This quits !Shade.  
  890. Delay - This sets the double-click delay accepted in 50ths of a second.
  891. Sound - This sets whether the 'shade' sounds play.
  892. OK - This closes the control window without quitting !Shade. You can re-open the control window by double-clicking !Shade again.
  893. DiskBase - Jan Ganzevles
  894. The programs you use a lot, are often easy to find. But how about the rest, especially if they are stored on floppies? A diskette label is too small to print a complete directory on and having separate printouts it can still be time consuming to find just the one file you're looking for.
  895.  
  896. But now there is !DiskBase. This program allows you to catalogue your disks (and CD-Roms), store this information in a datafile and then show contents of disks, search for files, directories and/or applications, check for duplicates, and print diskette labels.
  897. JCut - J David Barrow
  898. Perform cut and paste operations, clean up images, cropping, rotation, flipping and even contract and colour adjustment on JPEG images. Why would would want this? Simple to do this using normal applications would require you to de-compress and then re-compress the JPEG. This would result in a loss of quality and quite probably a larger file.
  899. Note that if you are using ImageFS you will need to turn it off (or quit it) before you can use JCut.
  900. Digital CD - Andre Timmerman's
  901. The latest version of what may well be the most popular freeware music player for RISC OS. It provides easy controls to play almost any time of music or sound file.
  902. To play a music file first open the DigitalCD's icon bar menu and choose Music Files from the Players submenu, or click SELECT on the DigitalCD icon on the icon bar. These actions will both open the Music Files control panel. Now drag the icon of the file to play from the directory display to the control panel, the file should start to play. The filetypes currently supported are:
  903. Digital Symphonies (&10B)
  904. Protrackers and ArcTrackers (&CB6)
  905. Matrix (&00B)
  906. ScreamTrackers (&C02)
  907. FastTrackers (&C03)
  908. ImpulseTrackers (&C04)
  909. Multi Tracker Modules (no known filetype)
  910. Poly Tracker Modules (no known filetype)
  911. MPEG Audio (&1AD, including those with variable bitrates)
  912. MIDI (&FD4)
  913. Various sample files such as Wave (&FB1)
  914. To create a playlist, choose Playlists from the DigitalCD's icon bar menu, then choose New from the Playlists window's menu. An empty music files playlist will appear. Drag the icon of the files to be included from the directory display to the window (or even better drag a directory icon to the window to include all the music files contained in the directory and any of its sub-directories).
  915. To play files from the playlist, open the Music Files control panel, select the Program ControlP.Switches mode and click on the Play button. To play a CD, open the DigitalCD's icon bar menu and choose the corresponding player from the Players submenu or, in the case of CD drive 0, click ADJUST on the DigitalCD icon on the icon bar. Insert the CD in the drive and wait until the control panel replaces 'CD drive x is empty' with information on the CD. Click on the Play button.
  916. DigitalCD supports interactive help. To make use of this feature, load either the Help application supplied with your computer, or an alternative Help provider (such as Bubble Help). Making use of this feature (which also works on menus) should help you to work out what everything does. The author has made the program as straightforward as possible in use and has put as much information as possible in the interactive help, so use it! If you still have questions, then read the rest of the manual, and should you encounter real troubles try the troubleshooting section.
  917. Endpiece
  918. That's all we have time for this issue, if you have any PD, Freeware or Shareware applications you would like featured why not get in touch with the 
  919. Paul Brett
  920.  
  921. ÿÿÿÿISSUE5/PORTABLE/INDEX.HTM  ISSUE5, Portable World
  922.  
  923.  
  924. Portable World
  925. John Woodthorpe's portable roundup
  926. RiscStation Osaris
  927. There were two new portables at the RISC OS 2000 Show at Epsom. The first will come as no surprise to readers of the previous issue of Risc World, as it was the laptop-style RiscStation Portable. The other was more unexpected and I confess to stopping short when I saw what looked like an Oregon Scientific Osaris on the RiscStation stand.
  928. On closer examination, it claimed to be a RiscStation Osaris, but that’s a mere technicality as the underlying machine is the Oregon one. It has been rebadged by RiscStation in the same sort of way that Acorn and Xemplar rebadged the Psion Series 3 machines as Pocket Books. The last of those was the Xemplar Pocket Book III, based in the Psion Series 3mx and launched in February 1998. Sadly, it never achieved the degree of success that the original Acorn Pocket Books managed, and I still treasure the memory of seeing a Microsoft employee producing his favourite palmtop (an Acorn Pocket Book II) while demonstrating a new Windows CE machine.
  929. The real target for those machines was schools, and it was not unusual to see whole classes using the machines to take notes on field trips, work on spreadsheets and so on. The rebadging benefitted those of us who owned the Psion machines as well, as we were able to buy PocketFS to help us convert files between the palmtop and our RISC OS desktop machines. That extended right up to the Pocket Book III, where Xemplar funded some of the early development of PsiRisc, although that product now seems to have all but disappeared.
  930. The Osiris was first spotted at the Consumer Electronics Show in the US in January 1999, so it’s hardly new. It hasn’t created a huge impression compared to its siblings from Psion though. One reason for that is perhaps that Oregon Scientific have a reputation for cheap copies of more mainstream calculators, PDAs and electronic novelties. Their Web sites at 
  931. Shortly after the Osaris was launched, I borrowed one for a while. That was initially to confirm that the Web and email applications work with an IR mobile phone, but I also took the chance to have a closer look at it. In many ways it’s a strange beast, being almost the same physical size as the S5 or S5mx. It still has the CompactFlash slot for memory expansion, runs the same software as the S5 range, and yet is dramatically cheaper. The main problem with it is that the screen is rather oddly shaped, as the screenshot here shows.
  932.  
  933. A spreadsheet file on the Osaris
  934. The screen is about the same height as the S5, but a lot narrower, and has rectangular pixels. That makes many applications look rather odd, with text that is squashed in one direction and stretched in the other. As a result, many of the third-party applications don’t work properly as they assume that the screen is bigger. Some of the commercial software houses such as Palmtop Software and Purple Software are now making their products sense the machine they are running on and adapting to the screen size, but many of the Shareware and Freeware authors aren’t doing that. As the Psion Revo has become so successful, more authors are making their software adjust to the available screen size, so that should gradually become less of a problem. You may see the screen referred to as being half VGA, but that’s a little confusing since it is actually 320 x 200, making it quarter VGA by most definitions.
  935. Apart from the oddly proportioned screen, the Osaris has three main disadvantages:
  936. The RAM size is very limited (4MB or 8MB only, just like the Series 5), although a 16MB version is available in the US. Sensibly, RiscStation are selling the 8 MB version instead of going for the 4MB one.
  937. It uses a unique version of the EPOC operating system (EPOC Release 4 instead of the EPOC Release 3 of the S5 and the ER5 of the S5mx/Revo).
  938. It uses the slower CPU of the S5, not the faster one of the S5mx and Revo.
  939. The "Welcome" screen from the Osaris
  940. That second point could be a big problem when it comes to support, as Oregon Scientific aren’t part of Symbian 
  941. It is very cheap though, and at £169 (including VAT) for the 8MB version, RiscStation are undercutting the more established retailers such as Argos and the mail order suppliers like Maplin. Certainly for school use it is very well worth considering. I can’t really see it being hugely popular with private buyers. Compared to the Revo, it has a much better keyboard and is more expandable. It’s perhaps a little more robust than the Revo, as well as being some £60 cheaper and having the merit of using AA batteries. There are also classroom packs of five machines with a couple of mains adaptors, spare batteries and styli for £725+VAT.
  942. Overall I’d prefer a Revo, but for schools and anyone on a limited budget the Osaris is tempting. Incidentally, there’s a machine available in the US called the Diamond Mako that is a rebadged Revo, so it seems that this renaming of existing machines is still popular. I wonder if we’ll see more of this happening as EPOC machines proliferate? It’s certainly good to see that RiscStation are taking the initiative in this area, and they may well have picked exactly the right machine to interest the school customers that they are aiming at.
  943. Osaris Screen
  944. Revo Screen
  945. Series 5mx Screen
  946. Useful Links
  947. Oregon Scientific have more details of the machine at 
  948. Osaris Online at 
  949. John Woodthorpe
  950.  
  951. ÿÿÿÿISSUE5/STARPROG/INDEX.HTM  ISSUE5, StarPROG
  952.  
  953.  
  954. StarPROG
  955. Lawrence Granville re-opens an old favourite.
  956. Well this month in StarProg we have four examples for you.
  957. BallDemo3
  958. This is one of the editors own demos and was originally written for an ARM2 machine running in mode 13. I have updated it so that it now works in Mode 28 (640x480) 256 colours. This is a good example of using bank screen switching to create animation. The program sets up 4 screen banks and on each frame draws a sphere into one bank. Because of the the careful way the single sphere is animated and the fact that the screens are not cleared on each redraw a vast number of moving spheres eventually appear. Also note the use of a mask on the logo image (which is plotted on every frame) so that you can see the spheres moving underneath. Also note the scrolltext at the bottom. Can you see how the scrolltext area is cleared every frame but the main screen area left intact?
  959.  
  960. BallDemo3 in action
  961. Note that to run this demo you will need 2Mb of VRAM. Before loading the demo drag the screen memory slider in the task display up to 2048K,
  962. Roots by G. Kattau
  963. A good mathematical demo. This works out the square root of any number to any number of decimal places. Although a very large number of decimal places can take a bit of time to work out (even on a StrongARM)!
  964. Slider
  965. Perhaps this might make the basis of a good screen saver. All it does is slide the entire screen around making a great big mess in the process. Unlike most demos of this type the computer actually stays usable while the sliding is happening! Try and find a window and drag it around to see what happens. To stop Slider simply hold down the Escape key. The screen will then return to normal.
  966.  
  967. Slider in action
  968. Tour by G. Kattau
  969. The Knights tour problem, solved in Basic. Simply position the Knight anywhere on the board and the program will then try and move the knight so that it lands on every square of the board once. If it all happens too fast for you then you can single step through the tour to see the route the knight takes.
  970.  
  971. Tour
  972. What we want
  973. That is it for this issue. I am still waiting for someone to use the graphics library supplied inside the !WarpSpeed demo from last month. Why not try and make your own demo using these general purpose routines. If you want StarPROG to continue then send in your contributions!
  974. Lawrence Granville
  975.  
  976. ÿÿÿÿISSUE5/TEXTEASE/INDEX.HTM  ISSUE5, TextEase 2000
  977.  
  978.  
  979. TextEase Studio
  980. David Bradforth has a play with TextEase
  981. Back in 1994, the Acorn World show was the firs ever outing for a new concept in desktop publishing/design software. Textease, from Geoff Titmuss. This was, at the time, just £25 and Acorn exclusive. The fact that it's now something like £149 isn't a problem, especially when you now consider that the program is triple-format (PC/Mac/Acorn) and has been developed to a massive extent.
  982. Anyway, this issue of RISC World has a special version of Textease, that's fully functional for at least two months from the point you receive this issue! Yes - it's fully functional. You can save, print, and indeed do everything else you'd expect from a full piece of software. When the trial comes to an end, you'll still be able to load the files; and the special educational resources will continue to be fine - free!
  983. For the moment though, let's see what each component can do.
  984. Textease DTP/WP
  985. With Textease, the emphasis is very much on click anywhere on screen and start to type. With this in mind, I thought I'd take the opportunity to reconstruct one 'section' of the ProAction advertisement from RISC User 12:9. The notes which follow the illustrations may be somewhat cryptic, so I do apologise from the outset.
  986. 1. Create your logo(s) as appropriate, using your favourite design package. DrawWorks New Millennium, ArtWorks and Draw all produce standard Draw files, but at present we are unsure as of the format of files produced by Cerilica Vantage. Export your image as a Draw file, and - in the usual RISC OS style - drag and drop it to where you require it in the document. Sprite files, and various PC formats, can also be directly imported. (For example JPEG and GIF files - ED).
  987. 2. Move to where you want the address, click and start typing. To move down a line, just press Return.
  988. 3. As we want the logo and contact details to remain on the page in all circumstances, click Menu, then follow the other menu across until you find Object. Click on this, and select Locked. You'll now be able to type anything you like on the page, and it won't adversely affect the object you've now locked.
  989. 4. Click in the letter starting beginning, and type. You're now ready to proceed to bigger and better things - such as renewing your RISC World subscription! Or in my case, buying a subscription to Strategy Player magazine from Paragon.
  990. Textease Database
  991. I'm not going to spend a lot of time with this: it's really very simple to use for all but the most complex of things, being in the style of a simple card-index database. In essence, the one thing you have to do to activate the database is click on the Add Fields option within the Database menu of Textease Database.
  992. Once you've placed the fields onto the Textease screen, you can, by selecting the field you wish to modify, then going to Field Properties - make it into a boolean (yes/no) tick box or whatever. To add records click on the right facing arrow with a +. To search through records click on what looks like two spreadsheets overlapping each other.
  993. And there you have it!
  994. Textease Spreadsheet
  995. 1. After you've loaded Textease Spreadsheet, click on the iconbar icon and you'll be presented with a Textease-style window but containing a spreadsheet - instead of an empty document.
  996. 2. This will seem familiar to those who've read this far. To add a heading to your spreadsheet, click anywhere in the main document and type. You may, at first, have to drag the spreadsheet down. To do this, ensure it has a red highlight around it, and move the mouse pointer down. Drag the bottom right hand tag to enlarge/reduce, and use the styles menu to alter the ... erm ... styles.
  997. 3. Across the left hand side and top, I've added details of the data I'm looking to record in this sheet. Using the arrow key, you can navigate with ease the spreadsheet - however, if you hold down shift (which, in Excel will select multiple cells) you'll just move down the document.)
  998. 4. Now with all of the details in place (note that I've added in monetary figures, etc.), let's create our formula to total up. Move into the box you'd like a formula added into, and press the '=' key. You'll be presented with the query window, into which you can type something in the format QUERY X1:Y1 where X and Y are the co-ordinates to which you wish to apply the query, and QUERY is a function, such as SUM.
  999. To conclude
  1000. Next time, we'll take a further look at Textease properly. It's worth remembering that, while you play, there's a great deal of capability in each module. It only takes a little imagination to work out where it all is!
  1001. David Bradforth
  1002.  
  1003. ÿÿÿÿISSUE5/WML/INDEX.HTM  ISSUE5, WML
  1004.  
  1005. NET World
  1006. Richard Goodwin on WML.
  1007. Advanced HTML - Journey into WML
  1008. Only three issues in and already I'm dropping HTML for something newer and cooler; but as part of working with the Internet is making sure you keep up with new ideas and standards I hope you'll forgive this brief hiatus into the unknown, the language known as WML.
  1009. Intro into WML
  1010. WML - Wireless Markup Language - is a fairly new language, loosely based on HTML but designed, as you might have guessed, for the mobile computing industry.  Mobile phones are just starting to come out that have wireless Internet capability - for instance, the Nokia 7110, the Ericsson R320 and the Siemens C-35i - but as they can't access regular HTML content, new content has to be provided.  However, as there are few tools and even fewer designers that can design for WML this is not exactly easy.
  1011. Which is where this article comes in.  RISC OS might not have many WML tools available, but then neither does any other platform; and if designers are in short supply, here's where you can make a fast buck or two.  For all the apparent difficulties in getting content written in WML, in actual fact there are way fewer tags to remember compared with HTML, and you're basically designing mostly plain text, black and white, extremely simple sites.  If you offer your services professionally, rarity value means you should be getting paid more than as an ordinary Web monkey; or if it's a personal site you get instant cool points by being able to show off your website to your mates down the pub by whipping out your mobile, even if it only took you a few seconds to knock up a single page.  It's like the early days of the Web all over again, only cooler.
  1012. Configuring a server for WML
  1013. So, enough background, down to the nitty-gritty.  Before you even start creating WML pages, you need to know that you can upload them to somewhere that will be able to handle them; your ISP's web server needs to be WML ready.  WML and WAP (the Wireless Application Protocol, the basic framework on which wireless networking is dependent) in general has had enough publicity recently that this is already happening in a lot of cases.  ArgoNet's main server, Golden, has been able to serve WML content for some time, and I think Demon and Freeserve have also started doing WML.  If not, then many ISPs will be fairly eager to jump on the latest craze's bandwagon, so you should only have to ask.  If they don't know how to do this, and they're using the Apache web server (most ISPs do) then the following lines added to httpd.conf should do the trick:
  1014. AddType text/vnd.wap.wml .wml
  1015. AddType image/vnd.wap.wbmp .wbmp .wbm
  1016.  
  1017. The first line tells it to accept files ending in the extension .wml (or /wml under RISC OS) as WML files; the second line that .wbmp and .wbm files are wireless bitmap images (more of which later).  You might also ask them to find the line which contains something like the following:
  1018. DirectoryIndex index.html index.htm
  1019.  
  1020. and add index.wml at the end to be one of the default files that Apache looks for when someone just specifies a directory name in a URL. Apache will need to be restarted to get this to work, so don't hassle them too much if they don't get on to it right away.
  1021. If you can't get your ISP to provide a WAP service, there are a couple of options you can explore.  The first is that if you have access to a CGI directory you could get a program to add the necessary information.  Where you would usually have something in a PERL program like:
  1022. print "Content-type: text/html\n\n";
  1023.  
  1024. ...before outputting HTML, you can simply switch to:
  1025. print "Content-type: text/vnd.wap.wml\n\n";
  1026.  
  1027. ...and output WML this way.  As a lot of ISPs will only allow you to introduce programs to their servers which have been checked over by their staff, it could get very tedious trying to maintain a site where someone has to check every update you make so I suggest making your program simply slurp in WML files and spit them back out with the correct MIME type. That way all you have to do to update your site is upload WML files and use the program as a sort of controller.  I'll include an example script along with the resources for this article.
  1028. If all this sounds way too technical, never fear.  Firstly, depending on the WAP gateway your phone is using (you'll often find an IP address of a server in your phone's setup which converts the plain text of a WML file into a sort of compressed version), your phone might be able to handle files that have been incorrectly labelled as HTML, so long as they don't contain any HTML; try it and see.  Secondly, the IconBar (http://www.iconbar.com) has WML enabled webspace and have kindly offered to donate a little space to anyone wanting to experiment.  Contact details are at the bottom of this article.
  1029. Writing WML
  1030. Another thing you should be aware of is that WML is, unlike most versions of HTML, perfectly formed - that is, for every opening tag you must have a closing tag, for instance <p> must have a matching </p> or your 'phone will generate an error.  Some of you might be wondering at this point how things like images are handled, which don't have or need a closing tag.  This is catered for by having a closing tag inside the opening tag - that is, the tag is finished off with a slash just before the final triangular bracket, as in <br/>.  There are very few tags which allow this though, and I'll mention it when a tag is in this format, so don't go trying to close all tags in this manner just for the sake of it!  You may have noticed that these tag examples are in lower case, not capitals; in HTML you may have become used to using either case, or even a mixture of the two; WML tags and attributes are all lower case.
  1031. Another thing to be aware of when designing for mobile phones may seem obvious, right up until  you come to upload your first page - phone displays are small, so keep it simple.  Quite apart from the fact that 'phones have a limited memory to store a page - your limit is effectively 1.4KB (yes, less than one and a half K!) because that's how much the most popular WAP phone, the Nokia 7110, can take before breaking - if your display is only twenty characters across and three or four lines down you don't want to be having to scroll through reams of text.  Keep it down to a paragraph or two, and if you really need to impart a lot of information it's better to have it broken on to several pages with an easy to use index page.
  1032. I brushed upon the fact that the Nokia 7110 is the most popular phone of this type; this is based not only on the fact that it was the first in the UK marketplace and so was taken up in the first rush of enthusiasm for WAP, but also on a little research I did recently.  I wrote a little program that took data from The IconBar website and made it suitable for mobile phones.  This was announced on the main site about a month before I wrote this article, and I've just taken a look at the logs - out of around 350 hits, two thirds were by Nokia 7110 users.  It's not a bad 'phone, it's fairly easy to get to your address book, the scrolling wheel makes navigation quite easy, and it has that cool sliding cover just like in The Matrix, but its browser is not exactly bursting with features.  It doesn't support any text effects - like bold or italic - and doesn't support paragraph alignment.  So, while I can give you the commands that should work on most 'phones, at the end of the day you're going to have to do some testing to make sure what you see on the screen is passable.  I'll give some information and resources to make this easier at the end of the article.
  1033. Coding WML
  1034. On to the code then.  Here's an example WML file for you to cut out and keep - apart from the text you need the following for every file you create, but as it's always the same I'll only show it the once and leave it out of future examples.
  1035. <?xml version="1.0"?>
  1036. <!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN"
  1037.    "http://www.wapforum.org/DTD/wml_1.1.xml">
  1038. <wml><card>
  1039. <p>
  1040. Hello world!
  1041. </p>
  1042. </card></wml>
  1043.  
  1044.  
  1045. A "hello world" WML deck
  1046. Apart from the Hello world! part, everything you see is mandatory; the first line tells us this is an XML document - eXtensible Markup Language, a group of HTML-like languages of which WML is part - the second line is where to find the specifications for this particular variety of XML (wml_1.1, stored on the Wap Forum website).  Notice how the DOCTYPE line is mostly in capitals to start with, but there's wml in lower case?  All this has to be exactly as shown, case and all.
  1047. Then we have the <wml> and <card> tags, which is the start of some actual WML, and so are closed again at the bottom of the deck.  You may have noticed that card and deck sound a lot like a pack of cards that you might play poker with; this is intentional, as you can have more than one card (area of WML) within a deck (WML file).  You can give these cards titles and ids, then have links or other controls to jump from one id to another; it uses the same syntax as the <a name="thing">...<a href="#thing">, but using the id of different cards (or pages in the same file) instead of a name; but we'll stick to just the one.  And finally you'll see there's paragraph tags - <p>...</p> - around the text; there always has to be at least one set, and you can't have any content outside of them.
  1048. Paragraph attributes
  1049. align = left , center , right
  1050. mode = wrap , nowrap
  1051. As there are no other alignment tags - no <center>...</center> - you'll need to use paragraph alignment to centre text.  To stop centering you'll need to close the paragraph and open a new one, as in the second example:
  1052. <p align="center">
  1053. Welcome!
  1054. </p>
  1055. <p align="left">
  1056. Hello and welcome to my website!
  1057. </p>
  1058.  
  1059. Simple paragraph alignment
  1060. As you can see I've removed all the header and footer stuff to keep things simple, but you'll need to add them back in or the example won't work.  A couple of things to note about the example - I've explicitly set alignment back to "left", but this is implied if you open a new paragraph and don't specify any alignment; I just did it for completeness.  Be warned that the Nokia 7110 doesn't support any alignment, but most other devices do; don't be afraid to try though because even if a particular phone can't use a tag or attribute, it won't generate any errors - it'll just ignore it so long as you stick to official tags, it'll only cause an error if you use something that isn't official.  And don't worry about leaving lots of blank lines by having new paragraphs all over the place - WML paragraphs don't have spaces between them, in fact if you want spaces between lines you'll have to use the linefeed tag - <br/> - to force them.
  1061. The mode attribute has two possible values, wrap and nowrap.  wrap is, as you might expect, just the standard way that text will go to the end of the line and then drop down to carry on at the beginning of the next line.  nowrap however allows you to only take up one line; it'll show a line's worth of text, and when you move down so that the line has "focus" then it'll do a strange jump to the next line's worth of text, and then the next line's worth, and then the next in a kind of strange scroll text effect (although a scroll text usually scrolls a pixel or a character at a time, not whole words).  This could be useful for a list of links, for example, so that you can show a concise list on screen, but as the user scrolls down it they get a longer description.
  1062. Effects
  1063. <b></b> bold
  1064. <i></i> italic
  1065. <u></u> underlined
  1066. <em></em> emphasised
  1067. <strong></strong> strongly emphasised
  1068. <big></big> big
  1069. <small></small> small
  1070. As you may have noticed all the effects are exactly the same as in HTML.  However, support is not quite so widespread; the Nokia 7110 has no effects support, but most other devices support at least bold text - in fact they usually map some if not all other effects to be bold.  You might also get away with underlined, and possibly even <big>, but I've yet to see a device that supports italic, even on the Palm V (the little handheld computer).  As stated above though they won't spit out errors just because a particular 'phone doesn't have an italic font for instance, so because there's no other tags like headlines or blockquotes I suggest you try something like the following:
  1071. <p align="center">
  1072. <big><b>Welcome!</b></big>
  1073. </p>
  1074. <p align="left">
  1075. Hello and welcome to my website!
  1076. </p>
  1077.  
  1078.  
  1079. Using text effects for a more effective headline
  1080. The bold and big tags together with the centering will make the headline - "Welcome!" - stand out more; even if the big tag isn't supported at least there's the boldness to fall back on, and if for some reason this doesn't work it should be centered.  The 7110 doesn't support any of this, so maybe it's time to try...
  1081. Images
  1082. <img... /> attributes:
  1083. src* = filename
  1084. alt* = alternative text in case image can't be shown
  1085. height = height in pixels of image
  1086. width = width in pixels of image
  1087. hspace = horizontal border width
  1088. vspace = vertical border width
  1089. Attributes marked with a * are mandatory.
  1090. As you can see, there's no real surprises with the image tag - apart from that closing slash at the end of the tag it's pretty much identical to HTML.  You can even have an alignment tag  to align the image to the top, middle or bottom of the text it's in, but as some 'phones put images centered on a new line I haven't listed it above.  In fact it's probably best to have all images surrounded by a center-aligned paragraph just so that they appear the same on all 'phones.  One thing to watch out for though is that, apart from the src attribute which you obviously need to tell the browser where to load the image from, you must have an alt attribute - even if it's empty, as in alt="" - otherwise some phones will throw up an error.
  1091. Alas there is one problem with images, and that's the format you have to use.  You can only use the proprietary WBMP - wireless bitmap - format, which is only available in black and white.  You're also going to have to keep the image down to about 96x40 pixels in size - the usable space on the "large" display on the Ericsson R320 is only 100x50, most other phones are smaller - which goes against the grain a little.  Eventually I ended up writing a converter for this format, which I've included along with the other resources for this article.  It'll take a Sprite and convert it into WBMP, and vice versa; the Sprite doesn't even have to be black and white, although it'd help if you used ChangeFSI to convert the image to black and white so you can see what you're getting before you commit it to WBMP format.
  1092. One other piece of advice I feel I should mention is that an image might seem fine when you're designing on your 1024x768 desktop in 32 thousand colours, but you'll probably find it looks stupidly large when you see it on the phone.  Before converting to WBMP you might want to load the image into Paint and zoom it to 2:1 to get a better feel for how the image will look on the phone.
  1093. <p align="center">
  1094. <img src="4.wbmp" alt="Welcome!"/>
  1095. </p>
  1096. <p align="left">
  1097. Hello and welcome to my website!
  1098. </p>
  1099.  
  1100.  
  1101. An image for a headline
  1102. Linking
  1103. A hypertext document wouldn't be complete without hyperlinking, and you'll be glad to know that a WML link is exactly the same as a simple HTML link - for example:
  1104. <a href="destination.file">Some text</a>
  1105.  
  1106. It's even possible to have images in links, as in this example:
  1107. <a href="index2.wml"><img src="banner.wbmp" alt="click to enter"/></a>
  1108.  
  1109. However, you cannot have other tags inside links, for example the following will generate an error:
  1110. <a href="index2.wml"><big><b>This will fail!</b></big></a>
  1111.  
  1112. There might be some oddities in the way that 'phones will handle links, especially linked images.  The Siemens C35 for instance puts square brackets around links - [linked] - and will also do this for linked images, which might be odd if you've created your image to be the same width as the screen (you'll end up with a bracket floating above and below your image).  The Nokia 7110 won't show the image, just the linked alt text.  Basically it's probably best if you don't link to images; just show the image and have a text link underneath, or use a timed jump.  With regular linked text, some phones will put a linefeed before and/or after the link, so you can't expect to have a linked bit of text with plain text before and after it on the same line; in reality though lines are so short anyway that it's not that big a deal.
  1113. Strangely (given the lack of support for things like italic text), all 'phones that I've tested will allow you to jump to another deck or card using a timer.  All you have to do is add an ontimer attribute pointing to the url you want to jump to in the <card> tag, and then set the timer:
  1114. <wml><card title="Test 5" ontimer="http://wap.iconbar.com/home.wml">
  1115. <timer value="50"/>
  1116. <p>
  1117. Please wait five seconds, or
  1118. <a href="http://wap.iconbar.com/home.wml">click here</a>
  1119. to go to the <b>IconBar</b> WAP service
  1120. </p>
  1121. </card></wml>
  1122.  
  1123. Automatically jumping to a new location
  1124. Notice that the timer is set for 50, but the text says that the jump will occur in five seconds; this is because the timer is set in tenths of a second, so setting the timer to 5 would only be half a second.
  1125. There's one other navigation link that you might want to add to your card, which goes just outside the closing </p> right near the end - you can add a back button to either one of the phone's keys, and/or the navigation menu.  It's good to do this as some 'phones have no method of going back through the history without this tag.
  1126. ...
  1127. </p>
  1128. <do type="accept" label="Back">
  1129. <prev/>
  1130. </do>
  1131. </card></wml>
  1132.  
  1133. Code snippet for adding a Back button
  1134. For those of you with a serious technical bent, all the phones I've played with also support proper http 1.1 requests, so not only can you run WAP sites on virtual domains (where one machine can host the webpages for many domains, not just one), they'll also be able to handle redirections.  For instance, visiting the IconBar WAP site with a regular browser will result in you getting redirected to the main IconBar site; you can only get to the WML pages if you're using a WML browser.  This is because I've got a program called index.cgi which checks what device you're using and sends back a Location: header to switch the browser to the correct site for the browser's capabilities.  I've used the same technique for my own website; at the time of writing I've only done one directory - http://houseofmabel.com/programs/html3/ - where you can visit with either type of browser and you'll automatically be sent to content suitable for your browser.
  1135. Characters
  1136. A brief mention about special characters in WML.  There are only seven named character entities in WML, which should be pretty easy to remember:
  1137.  
  1138. WML Special characters
  1139. If it's not on this list, it doesn't have a named entity attached to it - for instance, if you want to print an acute "e" (as in café, élite etc.), in HTML you may have become used to using é but in WML it'll have to be é. Luckily these numbers directly relate to RISC OS ASCII numbers, so if you know that you can press the ALT key and type, for example, 201 for a capital e acute, then the numeric character entity is É. It's unlikely that the WML browser that someone's going to be using to view your site will be able to do anything fancy, so always encode the characters in the table above using the commands given, and always encode "special" characters (those outside the normal plain text range) as numbers, don't just leave them as plain text and hope for the best.
  1140. There are two more things that you should know about characters in WML - dollars and ampersands are special.  As mentioned above ampersands should be encoded, but what might catch you out is that this has to happen even in URLs - for instance,
  1141. <a href="/cgi-bin/program?action=run&value=now">
  1142.  
  1143. will fail.  You should instead use
  1144. <a href="/cgi-bin/program?action=run&value=now">.
  1145.  
  1146. Dollars are even more tricky; as in many other computer languages the dollar sign is used to denote a variable, so you can never have a dollar on its own.  In a URL you might see something like the following:
  1147. <a href="/cgi-bin/program?action=$(action)">
  1148.  
  1149. Notice how the variable name is surrounded by brackets?  This does not, however, mean that dollars that aren't next to brackets are fine - they have to be doubled up to print properly, for instance "$50,000" will cause an error, you must write "$$50,000".  As my first experience with WML was taking HTML content and making it work on WML browsers, I could never figure out why some pages were fine and some failed for no apparent reason.  Only later did I notice it was always the financial reports that failed, because they contained dollar signs and pound signs, and "$", "£" and "£" all break WML browsers!
  1150. Further reading
  1151. I think that's probably enough to be getting on with for now; you should be able to knock together a pretty good WML site of your own with the simple techniques listed above.  There's some other stuff that might come in handy - forms especially, but also some nice variable manipulation and event handlers that are quite JavaScript-like - however I think it's best to walk before you try running.
  1152. You will, of course, need some way of testing your WML once you've written it.  Currently there are no RISC OS resources to do this; a native WML browser has yet to appear.  I've updated my LinkSure link checker to check WML files for links and images in the same way as it does for HTML, but this is a long way from being able to view WML pages.
  1153. The obvious way would be to check on your 'phone, but this could be a very costly proposition; the only other real alternative is to run an emulator on a Windows PC.  I know, I know, but unfortunately the mobile 'phone industry isn't quite as enlightened as we are.  The best way to get the emulators is to go to mobile phone manufacturers' Web sites and look for developer links, then sign up to the development programs.  This might seem a little scary at first - going to Nokia and pretending to be some bigshot 'phone guru - but in reality there's nothing to it.  You just enter your data, and no checks are done to make sure you're part of a multinational corporation; when you think about it, it's in their best interests that as many people as possible start writing WML content.  You don't even have to sign up for any emails.
  1154. My recommendations are downloading the Nokia SDK (Software Development Kit) and the Ericsson R380 emulator.  The Nokia kits allegedly contain portions of the actual ROM programming from the 'phones, and so are a very realistic simulation of the devices (the 7110 is the main 'phone we're interested in, but you can switch to others).  Realistic however does mean that you have to click with the mouse on the picture of the 'phone instead of using the perfectly good 105 key keyboard right in front of you; you also have to download a big chunk of Java development software to get it running.  However, the Nokia kit comes with some truly excellent documentation in PDF format, especially the earlier version; the Nokia WML Reference Version 1.1 is my main reference book for WML, as it's much better written than the official WML documentation from the WAP Forum; the Nokia docs are more logically laid out with like tags being grouped together instead of listed alphabetically, and there's plenty of examples so that you can see what the hell they're talking about.  There are also guides for designers as well as developers.  It seems strange that Nokia should go to all the trouble to document things so thoroughly when their 'phones can't actually display many of the tags, but that's big business for you.
  1155. On to my second recommendation, the Ericsson R380 emulator.  This is the as-yet unreleased device heading this way soon, which is almost exactly the same as their cool R320 but you open a flap and the whole length of the 'phone is a sideways-on, letterbox style PDA.  This means that the display is much bigger, so you can see more of your text (which is much easier on the eyes when debugging).  The emulator will only allow you to use the WML browser, but that's enough - it's a better browser than the Nokia one, you can type stuff in using your PC's keyboard, and it'll even allow you to get some brief debugging messages if your WML page fails to run properly.
  1156. If you don't have access to a PC, and/or you're not too bothered about seeing how your WML will look in the confines of a fake phone, then there is one website that will not only show your pages in a conventional browser, it'll also work on current RISC OS browsers (well, Fresco did throw up a JavaScript error, but I still got my page). The site at http://www.wapsilon.com/ (or http://wappy.to/ if you want the snappier version) converts the WML into HTML and WBMPs into GIFs so you can see roughly what your WML is doing, but obviously a HTML browser is much better at rendering font styles etc. so you'll be getting all the big, bold, italic text that you won't on a proper 'phone browser.  Also only the simple version worked, there are links to a PDA and Nokia 7110 versions of the converter but they didn't work on my RiscPC.
  1157. Resources
  1158. Site development
  1159. RISC OS resources
  1160. General
  1161. RISC OS Resources:
  1162. I've tried to put together enough tools to make WML development as painless as possible.  The filetypes &F8E and &F8F have been officially registered as WML and WBMP files respectively.
  1163. Included on this month's CD
  1164. HTML3 - my HTML macro inserter, which can now be switched into WML mode.
  1165. WBMP - convert Sprites to WBMPs (and back again)
  1166. LinkSure - checks links.  Updated to accept WML, SSI and PHP files, and check for WBMP images.
  1167. Filer icons (RISC OS 4 style)
  1168. Filetypes (RISC OS filestypes and DOS mappings)
  1169. LanMan98 extended mappings file
  1170. MimeMap file additions
  1171. StrongEd WML mode - StrongEd 4.63 and above should contain a WML mode, which has all WML 1.1 commands in its context sensitive colouring routine to make writing and debugging easier.  It also has some useful functions on its icon bar and mode menu, such as making marked areas bold, italic, bigger and smaller; inserting standard headers and footers and so on.
  1172. StrongEd can be downloaded from 
  1173. Copies of all of these resources, and any updates or additions, will be posted up at 
  1174. Richard Goodwin
  1175.  
  1176. ÿÿÿÿISSUE5/WWW/INDEX.HTM  ISSUE5, Weird World Web
  1177.  
  1178.  
  1179. Weird World Web
  1180. Hugh Jampton goes surfing for Christmas Presents.
  1181. Well Christmas is just around the corner (he's writing this in October - ED) and we are already unpacking the tinsel and digging up one of next doors fir trees. However what can I get people for Christmas. I know what I want and have already written my note:
  1182. Dear Jim,
  1183. Please fix it for me to have a Microdigital Omega
  1184. for Xmas, oh, and a RISCStation portable as well
  1185. Love
  1186. Hugh Jampton
  1187. However what am I going to buy everyone else? I thought about getting my wife a new ironing board cover, but there is no need to go mad! After last years experience when I sewed her in the bed and then got accused of matresscide I think I had better be more careful.
  1188. Anyway did I tell you the one about (GET ON WITH IT - Ed).....oh sorry. Now what was I supposed to be doing, ah yes places to go for Christmas goodies for your nearest and cheapest, sorry dearest.
  1189. Computer and photographic consumables, ideal if you know a keen photographer. Also has loads of gadgets from Oregan Scientific.
  1190. Gadgets, gifts and lost more. Has special sections for gifts under £0, my favourite was the Time Projector for under a tenner. Also has a nice alphabetical listing and photos of every product.
  1191. Flowers and more flowers. My wife was complaining that I didn't buy her any flowers, but I pointed out that I had, they were even self raising.
  1192. Yes, even humble serfs such as myself can become a Count, or better. You can even be a Lord and Lady of your own town. This means that out Editor and his wife could become Lord and Lady Bracknell and for under £00!
  1193. Dum, didle dum dum, dum dum dum, dum, diddle dum dum - the ideal place for budding James Bonds. I love the idea of electrocuting car thieves legally and as for the bullet proof clip board, excellent!
  1194. Chocolates, and more chocolates, even the web site is all chocolate coloured, although over a kilo of continental chocolates might be too much for one sitting.
  1195. Massive shop with lots of high quality discounted gifts, telephones, books, electronics and much much more.
  1196. Yes it's plastic model time, from Spitfires to the Cutty Sark.
  1197. A massive on-line toy shop, everything your kids, or other peoples kids, could want.
  1198. Everything for the DIY (Destroy it Yourself) enthusiast, including first aid for when you cut your fingers.
  1199. Nothing up this sleeve, and nothing up this sleeve (and nothing between the ears either -ED) and hey presto a lovely rabbit.
  1200. The best tat that money can buy, I'm just off to order a pocket flame thrower.
  1201. The Early Learning Centre, what more can you say?
  1202. Hawkins Bazaar, with traditionally made wooden toys that can even be customised.
  1203. Well that's it for this months collection of World Wide Web links. If you have any great links, or even any not so great links then why not send them in. Happy shopping!
  1204. Hugh Jampton
  1205.